現在の場所を確認し(Google Play Services LocationClientを使用)、その場所をサーバーに送信する必要があるAndroidアプリケーションがあります。これは、バックグラウンドで定期的に発生する必要があります (例: 5 分ごと)
このコードは非常にうまく機能しており、通常、数秒の許容範囲内で 5 分ごとに場所を提供します。この問題は、Android が修正を取得できない場合に発生します。これらの条件下では、コールバックが 5 分後に NULL ロケーション オブジェクトで実行されることを期待していましたが、これは起こりません。アプリケーションは、コールバックを呼び出すことなく、場所を探し続けるだけです。
次のように作成された locationRequest オブジェクトを使用して、LocationClient の requestLocationUpdates メソッドを呼び出します。
locationrequest = LocationRequest.create();
locationrequest.setInterval(5 * 60 * 1000);
locationrequest.setFastestInterval(3 * 60 * 1000);
locationrequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationrequest.setExpirationDuration(45 *1000);
locationclient.requestLocationUpdates(locationrequest, mPendingIntent);
場所を取得できない場合でも、LocationClient に 5 分ごとに電話をかけてもらう適切な方法がわかりません。5 分ごとにアラームが鳴り、最新の場所をサーバーに送り返すことができるのはありがたいのですが、コールバック内で送信を処理したいと思っていました。
他の誰かがこの状況に対処しなければなりませんでしたか、またはそれに対処する方法を知っていますか?