2011-05-16 76 views
2

我在我的應用程序中有一個小部件,它被搞砸了(它的其中一個資源,一個計數器,只有在大於0的情況下才會可見,並且它不會再對新聞發生反應)我安裝/刪除/更新第三方應用程序,因爲onUpdate()方法可能被調用,並且我寫的代碼沒有正確執行。Android小部件onUpdate()問題

可以肯定的是,AppWidgetManager反應如下意圖:

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

但我怎麼可以讓小部件不應對這樣的意圖,它甚至沒有在清單中註冊呢?

回答

0

嘗試加入那些行動清單..和避免onReceive方法反應對他們來說,這是莫名其妙微不足道的解決方案,但它會做!

+0

我認爲即使這是偶爾的工作:在新的應用程序安裝它似乎解決了這個問題,但是當應用程序得到更新時,強制屏幕刷新仍然搞砸了我的小部件。 – user583066 2011-07-25 15:22:53

+0

雖然我在onReceive處理程序中爲android.intent.action.PACKAGE_CHANGED,android.intent.action.PACKAGE_RESTARTED,android.intent.action.PACKAGE_REPLACED,但我只能不能在應用程序更新上工作。 – user583066 2011-07-28 05:20:36

0

你試過重寫onReceive方法並檢查意圖嗎?我提供了一個快速示例。

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

這應該允許你檢查傳入的意圖,並過濾掉你不想要的東西