0

requestLocationUpdatesを使用しています

GoogleApiClient client; 
LocationRequest request; 
PendingIntent callbackIntent;

からFusedLocationProviderApi。画面がオンの場合、正常に頻繁に動作しています。

ただし、デバイスがスリープ モードに入るときは、PendingIntent は呼び出されません。スリープ モードで更新を取得し続けるにはどうすればよいですか?

4

1 に答える 1

0

深い睡眠モードで場所を取得できましたか? 私も同じ問題に直面しています。デバイスがウェイクアップした後、現在のタイムスタンプ (ウェイクアップ後の時間) を含む場所 (ディープ スリープ モード中に更新された) を受信したことを確認しました。私自身の理由で、Application クラスを Listener として作成しました。そして、onLocationChanged() がヒットしない理由が、コンポーネントがディープ スリープ モードで実行されていないかどうかはよくわかりません..私の場合はアプリケーションです。

私には 1 つの解決策があります。定期的に起動する ALarmManager を使用し、CPU を起動して getLastKnownLocation() を呼び出してウェイクロックを解放する partial_wakelock を取得できます。変位に基づいた場所が必要なため、これは私の場合には適切な解決策ではないようです。

編集 有効
な解決策は、ディープ スリープ モードの http です。質問は無関係ですが、文脈は同じです。この方法で場所を受信することもできます。

于 2015-06-09T15:34:47.377 に答える