2013-03-29 4 views
1

나는 이것에 관한 문서를 찾는 데 어려움을 겪고 있습니다. 안드로이드 위젯의 제공자의 경우, 특정 제공자 객체의 수명주기는 얼마입니까? 비동기 테스트를 시작한 다음 나중에 객체를 찾으면 사라진다는 것을 알게되었습니다. 은 (관찰에 의해 나는 onReceive에서의 onUpdate 호출 할 수 있으며의 onUpdate가 완료 될 때까지 내가 살아있을 것입니다받은 알 수 있습니다)위젯 제공자의 생명주기

답변

2

AppWidgetProvider가의 AppWidgetProvider BroadcatReceive 약 등으로 우선은 유용한 정보를 찾을 수있는 BroadcatReceiver입니다. Google Docs 말 :

브로드 캐스트 리시버 오브젝트가 onReceive 호출 기간 (문맥, 의도)에 대해서만 유효합니다. 이 함수에서 코드가 반환되면 시스템은 객체가 완료된 것으로 간주하고 더 이상 을 활성화하지 않습니다.

이것은 당신이 onReceive에서 무엇을 할 수 있는지에 중요한 영향 (문맥, 의도) 구현이있다 : 당신이 비동기 작업을 처리하기 위해 함수에서 반환해야하므로, 비동기 작업을 필요로 사용할 수없는 것을, 그러나 에서 BroadcastReceiver는 더 이상 활성 상태가 아니므로 이 완료되기 전에 시스템은 프로세스를 종료 할 수 있습니다.

특히 BroadcastReceiver 내에서 의 서비스에 대화 상자를 표시하거나 바인딩 할 수 없습니다. 이전 버전의 경우 NotificationManager API를 대신 사용해야합니다. 후자의 경우 Context.startService()를 사용하여 서비스에 명령을 보낼 수 있습니다.

또한 this web page으로 보입니다.

관련 문제