2012-05-10 36 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或更低版本的支持已不再重要。

相关问题