GPS データを収集してデータベースに保存し、毎分バックエンドに送信する必要があります。そして、Doze モードが問題を起こさないようにしたいだけです。
フォアグラウンド サービスを起動し、
onLocationChanged
そこでコールバックを実装するとします。Doze で GPS やインターネットの使用を許可するために、フォアグラウンド サービスですべての操作 (収集、保存、送信) を行う必要がありますか?
データを別の場所 (たとえば ) に保存/送信したい場合、データを処理する準備ができていて、スリープしていない
BroadcastReceiver
ことを確認するにはどうすればよいですか?BroadcastReceiver
Android M にはバグがあり、フォアグラウンド サービスが Doze モードの影響を受けます: https://stackoverflow.com/a/37869501/3210556
考えられる回避策は、別のプロセスでフォアグラウンド サービスを起動することです。
アプリにフォアグラウンド サービスがあると仮定すると、居眠りの影響を受けないのは正確には何ですか?
- フォアグラウンドサービス自体?
- フォアグラウンド サービスに関連付けられているプロセスは?
- アプリ全体?
ありがとうございました。