2012-05-10 22 views
0

サービスが実行中であるかどうかを確認し、必要に応じて再起動する「ウォッチドッグ」アラームマネージャーを使用して稼働しているサービスがあります。アプリのアップグレード後のAndroidサービスと再起動

これは、ユーザーがアプリストアからアプリを更新するまで問題なく動作します。おそらく、電話からアプリを削除してパッケージを交換するプロセスは、私のAlarmMgrエントリを無効にするでしょう。

アプリがアプリストアからアップグレードされた結果生じるパッケージの変更に基づいて、サービスを再スケジュールするためにどのようなインセンティブを使用すべきか教えていただけますか?

次のうちの1つ以上が必要なように見えます。

 <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以下のサポートはもはや重要ではありません。

関連する問題