ユーザーの現在地を1分ごとに更新する機能を備えたロケーションベースのアプリを開発しています。
場所の更新をリクエストするためのコードに以下を使用しています。
private LocationRequest mLocationRequest;
private static LocationClient mLocationClient;
mLocationRequest = LocationRequest.create();
mLocationRequest.setInterval(60000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setFastestInterval(60000);
mLocationClient = new LocationClient(this, this, this);
if (servicesConnected()) {
mLocationClient.connect();
}
servicesConnected() はユーザー定義のメソッドで、Google Play サービスが利用可能な場合は true を返し、それ以外の場合は false を返し、オーバーライドされたメソッドは次のようになります。
@Override
public void onConnected(Bundle connectionHint) {
try {
mLocationClient.requestLocationUpdates(mLocationRequest, this);
} catch (IllegalStateException e) {
// TODO: handle exception
}
}
@Override
public void onLocationChanged(Location location) {
// logic to store location data
}
しかし、GPS をオンにしている間、次の図のような位置情報の更新が見つかりました。
不要な位置情報の更新を回避するにはどうすればよいか提案してください。