2017-11-28 27 views
0

私は再起動するか、強制的にstop.Iまで、私は正常に動作application.Itリマインダーを開発していますがマニフェストでアクションの両方を使用している:BOOT_COMPLETEDQUICKBOOT_POWERON強制停止が呼ばれていることをアンドロイドで確認する方法はありますか?

も、まだ、私の放送受信機が動作していない、RECEIVE_BOOT_COMPLETED許可を追加しました。この問題を解決し、強制的に停止するかどうかを確認する方法はありますか? ありがとうございます。

答えて

0

AlarmManagerを使用して、アラームが設定されているかどうかを確認できます。

ここでは、AlarmManagerを設定する例を示します。

private AlarmManager alarmMgr; 
private PendingIntent alarmIntent; 
... 
alarmMgr = 
(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
Intent intent = new Intent(context, AlarmReceiver.class); 
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0); 

alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 
    SystemClock.elapsedRealtime() + 
    60 * 1000, alarmIntent); 

あなたのBroadcastReceiverでは、再度アラームを設定する必要があります。毎時間あなたの受信機をチェックすることができます。

アプリが強制的に停止しても、アラームマネージャがそれをチェックしたときに再起動する可能性があります。

+0

@dcanにお返事ありがとうございます。私はデータベースに時間を保存しているので、アラームを再設定するにはもう一度時間を取得するか、もう一度保存する必要がありますか? – user7394959

+0

時間を保存する必要はありません。 1時間後にAlarmManagerを設定するだけです。あなたのデバイスは残りの部分を処理します。 1時間後、あなたの放送受信機に電話がかかり、1時間後に再びアラームを設定することができます。 11時や15時などのように時間を設定する必要はありません。時間帯として設定するだけです。 – dcanbatman

+0

Btw、これは強制的に停止したか、まだバックグラウンドで作業していることを確認することです。リマインダー側では、アプリは同じになります。 – dcanbatman

関連する問題