2011-05-16 6 views
2

내 앱에 위젯이 있는데 그 중 하나가 리소스, 카운터가 0보다 큰 경우에만 표시되어야하며 더 이상 프레스에 반응하지 않습니다. 시간 onUpdate() 메서드가 호출되고 작성한 코드가 제대로 실행되지 않기 때문에 타사 응용 프로그램을 설치/제거/업데이트하십시오.Android 위젯 onUpdate() 이슈

그것은 AppWidgetManager는 다음과 같은 의도에 반응하는 것이 확실하다 :

android.intent.action.PACKAGE_ADDED 
android.intent.action.PACKAGE_REMOVED 
android.intent.action.PACKAGE_RESTARTED 

그러나이 어떻게 위젯, 그것은 심지어 매니페스트에 그들을 위해 등록되지 않은 등의 의도에 반응하지 만들 수 있습니까?

답변

0

시도 ..를 원하고 onReceive 방법으로 그들에게 반응하지 않도록 할 것을 걸러 낼 수 있도록해야

if(intent.getAction().compareTo("android.intent.action.PACKAGE_ADDED") != 0) { 
    //do something cool; 
} 

, 어떻게 든입니다 사소한 해결책이지만 그렇게 할 것입니다!

+0

나는이 문제가 산발적으로 발생한다고 생각합니다. 새 앱을 설치할 때 문제가 해결 된 것 같지만 앱이 업데이트되면 강제로 화면을 새로 고침하면 여전히 내 위젯이 고생합니다. – user583066

+0

android.intent.action.PACKAGE_CHANGED, android.intent.action.PACKAGE_RESTARTED, android.intent.action.PACKAGE_REPLACED에 대한 onReceive 처리기가 있지만 앱 업데이트에 대해서만 작동하도록 할 수 없습니다. – user583066

0

onReceive 메서드를 재정의하고 해당 내용을 확인 했습니까? 나는 간단한 예를 제시했다. 이것은 당신이 들어오는 의도를 확인하고 매니페스트에 이러한 작업을 추가