2012-05-10 34 views
0

我有一個服務通過一個「看門狗」警報管理器運行,它檢查服務是否正在運行並在需要時重新啓動服務。應用升級後重新啓動和Android服務

這可以正常工作,直到用戶從應用商店更新應用。據推測,從手機中刪除應用程序並更換軟件包的過程會使我的AlarmMgr條目無效。

有人能告訴我應該使用什麼意圖重新計劃基於應用程序從應用程序商店升級應用程序而發生的程序包更改的服務。

以下一項或多項似乎是必需的。

 <intent-filter> 
      <action android:name="android.intent.action.PACKAGE_CHANGED"/> 
      <action android:name="android.intent.action.PACKAGE_REPLACED"/> 
      <action android:name="android.intent.action.PACKAGE_INSTALL"/> 
     </intent-filter> 

回答

0

HERE人說,「新安裝包不接受這個廣播」。我認爲所有這些廣播都是一樣的,這是出於安全原因。 PACKAGE_INSTALL也被棄用。

0

在Google上遇到這個問題,所以認爲值得更新答案的狀態。自Honeycomb以來,現在有ACTION_MY_PACKAGE_REPLACED,它在更新時發送到您的應用程序,這是爲這種用例設計的。

與2012年不同,當問及此問題時,對Android 2.3或更低版本的支持已不再重要。

相關問題