2009-12-30 2 views
1

내 앱에 1 * 4 아이콘 크기 위젯이 있습니다. 사용자가 위젯을 추가하려고하면 구성 화면이 나타납니다. 일부 데이터가 수집됩니다 - 서버에 의해 확인됩니다 - appWidgetID를 키로 사용하여 로컬 DB에 추가됩니다 - 모두 좋습니다.위젯을 추가하는 데 홈 화면에 공간이 충분하지 않아서 실패한 경우 AppWidgetProvider에 알립니다.

사용자가 저장을 누를 때 공간이 충분하지 않으면 그는 "이 홈 화면에 더 이상 공간이 없습니다"라는 예의 공상을합니다.

이제 내 문제는 응용 프로그램에이를 알리지 못한다는 것입니다. 응용 프로그램은 여전히 ​​위젯이 생성되었다고 가정하고 뒤로 앉아 일정 시간이 지나면 브로드 캐스트가 위젯을 업데이트 할 때까지 기다립니다.

브로드 캐스트 또는 콜백 또는 위젯이 성공적으로 만들어지지 않았는지 확인하기 위해 가능한 모든 방법을 통해 알 수 있다면 내 DB에서 해당 레코드를 삭제 된 것으로 표시 할 수 있습니다.

또는 일부 마법 닌자 코드를 통해 미리 사용 가능한 공간을 알 수 있으면 더 좋습니다.

이 문제로 인해 전체 응용 프로그램 디자인이 방해받습니다. 도와주세요.

답변

0

이 경우 귀하의 AppWidgetProvider에있는 onDeleted()이 호출되었는지 확인 했습니까? 나는 그것을 시도하지 않았다, 그러나 나는 그것이 일할 것이라는 점을 희망 할 것입니다.

아직 호출되지 않은 경우 onDisabled()을 시도해 볼 수는 있지만, 홈 스크린에 다른 앱 위젯이없는 경우에만 작동합니다.

0

이것은 현재 화면에 위젯을위한 공간이 충분하지 않은 경우 onDeleted() 메소드가 호출되지 않는 OS의 버그라고 생각합니다. 나는 안드로이드 버전 1.5를 통해 적어도 이것을 보았다. 내가 알고있는 수정 사항이 없습니다.

2

이 문제는 1.6 또는 2.0으로 수정되었습니다.

+0

아, 나는 문제가 해결되었다는 것을 몰랐습니다. 여전히 가장 큰 잠재 고객을 지원하기 위해 SDK 레벨 3에 코드를 작성하려고합니다. 왜 내가 여전히 그것을보고 있는지 설명합니다. –

관련 문제