21

部分的なウェイクロックを保持しているホワイトリストに登録されたアプリが、デバイスが Doze 状態またはアプリがスタンバイ状態のときに位置情報の更新を受信できるかどうかを知っている人はいますか?

Android のドキュメント ( http://developer.android.com/training/monitoring-device-state/doze-standby.html ) は、CPU とネットワークが延期されることのみを述べており、位置の更新 (つまり、LocationManager から) への影響については言及していません。 )。これに基づくと、位置情報の更新は Doze/Standby の影響を受けないように思われるため、アプリが (CPU の実行を維持するために) 部分的な wake-lock を保持している場合、アプリは位置情報の更新を受信できるはずです。

これを実装してテストしたところ、部分的なウェイクロックがあり、ホワイトリストに登録されていても、アプリが Doze で位置情報の更新を受信して​​いないように見えることがわかりました。興味深いことに、デバイスを一晩机の上に置いたままウェイクロックでアプリを実行すると、朝にはバッテリーがほとんど空になりましたが、ウェイクロックなしでアプリを繰り返すと、朝にバッテリーがほぼ満タンになりました. そのため、アプリは常に実行されていたようですが、位置情報の更新は受信されていませんでした.

少し追加の背景: アプリはフリートの追跡に使用されるため、バッテリー電源で実行しているときに確実に位置情報の更新を受信するバックグラウンド サービスをアプリで実行する方法があるかどうかを把握しようとしています。

ありがとう!-トム B.

4

3 に答える 3

2

電話がアイドル モードのときに位置情報の更新を取得するには、アプリをホワイトリストに登録し、部分的なウェイクロックを設定し、同じ場所に配置しないでください (同じ場所にいる場合、更新は必要ありません)。電話が机の上にあるときに偽の場所を提供していたMock Locationsでこれをテストしました.

于 2017-01-03T18:43:32.563 に答える