2011-07-25 17 views
2

私はスタンドアロンサービスを実行するアンドロイドアプリケーションを持っています。今、私は私のサービスでいくつかの警報を設定します。私は、アプリケーションがアンインストールされたときにこれらのアラームをすべてキャンセルしたいと思います。Android:サービスがアンインストールされたときにアラームをキャンセルする

OnDestroy()にすべてのアラームをキャンセルするコードを入れようとしましたが、呼び出される保証はありません。アプリケーションがインストールされていないときに、すべてのアラームをキャンセルする信頼できる方法はありますか?

答えて

3

アプリがアンインストールされている場合、設定したアラームのPendingIntentは処理されません。だから彼らは放送されますが、誰もそれを処理せず、システムはそれらを取り除きます。再インストールした後に違った形でアラームを処理するアプリのバージョンが異なることが懸念される場合は、保留中のインテントに別のバージョンを追加してください。

1

残念なことにアンインストール時にコードを実行する方法はありません。私はonDestroy()がアンインストール時に呼び出される可能性が高いと言うでしょう。サービスはその時点で実行されていればファイナライズされます。私が知らないことの1つは、OSがアンインストール時にアプリケーションに関連付けられたアラームを自動的にキャンセルするかどうかということです。

+0

私は彼らがあなたのためにキャンセルされていると思うだろうが、私は実際にこれを確かに知らない。 –

+0

アンインストール中、アラームはICSでは自動で取り消されているように見えますが、froyoではなく、他のシステムではテストされていません。 – darshanz

関連する問題