私はAlarmManagerについて学び、それを使いこなそうとしました。私が理解できるようにアラームが、それは次のコードのようにXのミリ秒後に呼び出される必要があることを言うことによって設定されます。数ヶ月後に呼び出されるアラームの作成方法は?
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (sec * 1000), pendingIntent);
しかし、それは時間の長い期間に来るとき、私は、システムのパフォーマンスが心配です。
通知を有効にするアラームを設定する必要がある場合は、10か月後に何をすればよいですか?必要な期間をミリ秒単位に変換して同じ方法で渡す必要がありますか?あるいは、長期間に渡って作業する他のより効率的な方法がありますか?
まず、再起動するとすべてのアラームがキャンセルされることを考慮する必要があります。したがって、このアプローチがまったく機能しないことはほとんどありません。それはちょうど10ヶ月でなければならないのですか?他の方法としては、インストール時間(またはどの時間から始めるか)を例えばSharedPrefsを起動すると、アプリの起動または起動が完了すると、それに応じて時間がチェックされます。 – Endzeit
あなたは正しいです。私は、電話がシャットダウンされるとすべてのアラームがキャンセルされることを読んだ。しかし、アプリでは、アプリのメモリに登録されているイベントごとに通知する必要があります。この問題を解決するために私はこの答えを見つけました。あなたはそれについてどう思いますか? http://stackoverflow.com/questions/9671174/alarmmanager-delete-all-schedules-on-power-off – Marat