1

私は、Bluetooth経由でBeanデバイスに接続する(加速度計の読み取りを行う)アプリを構築しています。私は、アプリケーションが実行されているかどうかに関係なく、加速度計の読み取り値を20秒ごとに読み取る必要があります。また、これらの測定値に基づいて、私はユーザーに通知を送信する必要があります。私はこれには次のオプションがあると思う:アプリが起動しているかどうかにかかわらず、Android Oのサービスを開始

  1. startForegroundServiceメソッドを使ったJobScheduler:Dozeモードも扱っていますか?
  2. アラームマネージャ
  3. 私はすべて20秒の測定値を読み取るために使用すべきオプション

?より良い選択肢はありますか?

BeanAPIドキュメント:http://punchthrough.github.io/bean-sdk-android/

+0

はい、dozeはフォアグラウンドサービスに影響しません –

答えて

0

私はあなたの最善の策はAlarmManagerだと思います。前景として背景Serviceを使用してくださいServiceは、あなたの状況の過剰なようです。 AlarmManagerを実装して、実行中であるか、または終了しているかを定期的に確認し、後者が該当する場合は再起動してください。Service

+0

この場合、JobSchedulerよりもAlarm Managerの方が適しているのはなぜですか? –

関連する問題