最近、私は毎日特定の時間にサービスを実行する必要のあるアプリを開発しています。Android Studio - 'AlarmManager'の操作
これを行うには、AlarmManagerを使用します。
私の質問は:(サービスから)AlarmManagerをアクティブにした後、サービスを破棄することはできますか?
もしそうでなければ、OSで常時サービスを実行せずに、BroadcastRecerverを私に送信する方法はありますか?
は、あなたの質問に
最近、私は毎日特定の時間にサービスを実行する必要のあるアプリを開発しています。Android Studio - 'AlarmManager'の操作
これを行うには、AlarmManagerを使用します。
私の質問は:(サービスから)AlarmManagerをアクティブにした後、サービスを破棄することはできますか?
もしそうでなければ、OSで常時サービスを実行せずに、BroadcastRecerverを私に送信する方法はありますか?
は、あなたの質問に
短い答えを助けるお願い申し上げます。サービスはまだ警報受信機が実行することができ、アラームマネージャいつから開始することができます。長い答え:通常、ジョブスケジューラを使用しようとするのは良い習慣です。ネットワークや高バッテリーなど、他の基準の中でも、実行に必要なリソースを確実に確保しながら、より良い実行時間を決めることができます。
アラームマネージャは、Nougatの前にはかなり信頼性があります。開発者は、使用をやめ、ほとんどのユースケースでジョブスケジューラを使い始めるべきであることは、長い間宣言されています。アラーム設定とレシーバーの両方を交換し、電話をドーズモードに長くして起床させ、複数のタスクを一度に実行することにより、電話機がより多くのバッテリーを節約できるようにします。
特定の携帯電話でアラームマネージャーを使用しても、Googleでは各OSのリリースごとに信頼性が低下します。非常に特殊なケースがありますが、まだアラームが残っていますが、確かにそうでない場合は、ロリポップ以降のすべてのデバイスでジョブスケジューラを使用してみてください。また、ジョブスケジューラが存在しないkitkat以前の場合でも、アラームマネージャを確実に使用することができます。信頼性の問題について https://developer.android.com/topic/performance/scheduling.html
: https://developer.android.com/training/scheduling/alarms.html
ジョブスケジューラ情報:私はあなたがあなたのアラーム/ジョブスケジューラを登録することができますので、携帯電話のブートをリッスンする必要があると思ういずれの場合もhttps://developer.android.com/training/monitoring-device-state/doze-standby.html
:についての詳細:Android AlarmManager not working on some devices when the app is closed
回答とリンク – Elyash