2016-12-02 10 views
0

私は現在、特定の日時に発生し、通知を表示する永続アラームを設定する必要があるAndroidアプリケーションを開発中です。正常に動作しますが、システムはリブート時にすべてのアラームをクリアします。私はBOOT_COMPLETEDためBroadcastReceiverを作成する場合、私はキャンセルアラームを再武装することができます知っている他の質問からアンドロイド - 再起動後もアラームを持続させるために何が必要ですか?

。私の質問は次のとおりです。必要になったときにアラームを鳴らすために必要なアラームに関する情報は何ですか?

再起動時に保留中のインテントを再作成するために、すべてのインテント・エクストラとファイア・データ・タイムを維持する必要があると言う人もいます。

その他は、私が唯一の再起動後に、保留テント用requestCodeを持続している場合、私は、デバイスの再起動時に保留中のインテントはちょうど代わりにキャンセルされているので、キャンセル保留中の意図を取得し、アラームを再武装するために、このコードを使用することができると言います削除された

どちらが正しいですか?

ありがとうございました!

+2

「必要なときにアラームを鳴らすために必要なアラームに関する情報は何ですか?」 - 最初にアラームをスケジュールするのに使用しているのと同じ情報。再起動後に、このコードを使用してキャンセルされた保留中のインテントを取得し、アラームを再発生させることができます。なぜなら、デバイスがリブートすると、保留中のインテントは単に削除されずにキャンセルされるからです。一言で言えば、いいえ。 AFAIK、 'PendingIntent'は再起動しても残っていません。 – CommonsWare

答えて

0

PendingIntentsは再起動後も維持されません。そのため、最初にアラームを初期化したときに作成したすべてのインテントエフェクトを使用してBroadcastReceiverでアラームを再起動し、要求コードを同じにしてください。

+0

また、リクエストコードが何かについて興味がある場合は、http://stackoverflow.com/questions/21526319/whats-requestcode-used-for-on-pendingintentをご覧ください。 –