2017-09-30 28 views
3

最近、私は毎日特定の時間にサービスを実行する必要のあるアプリを開発しています。Android Studio - 'AlarmManager'の操作

これを行うには、AlarmManagerを使用します。

私の質問は:(サービスから)AlarmManagerをアクティブにした後、サービスを破棄することはできますか?

もしそうでなければ、OSで常時サービスを実行せずに、BroadcastRecerverを私に送信する方法はありますか?

は、あなたの質問に

答えて

2

短い答えを助けるお願い申し上げます。サービスはまだ警報受信機が実行することができ、アラームマネージャいつから開始することができます。長い答え:通常、ジョブスケジューラを使用しようとするのは良い習慣です。ネットワークや高バッテリーなど、他の基準の中でも、実行に必要なリソースを確実に確保しながら、より良い実行時間を決めることができます。

アラームマネージャは、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


+0

回答とリンク – Elyash

関連する問題