LocationListenerを持つandroid LocationManagerライブラリのルーチンrequestSingleUpdate()reoutineを使用しています。私が実装しようとしている機能は、ユーザーがボタンを押すことができ、アプリは現在の位置を取得し、逆ジオコーディングを実行しておおよそのアドレスを取得することです。android requestSingleUpdateのタイムアウトを設定する
私の問題は、デバイスのネットワーク状況によって、ロケーション修正を取得するのに時間がかかることです。私の 'requestSingleUpdate()'があきらめて自分の血まみれのアドレスを見つけるように指示するタイムアウトをどのように実装できますか?
私のコード:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.POWER_HIGH);
locationManager.requestSingleUpdate(criteria, new LocationListener(){
@Override
public void onLocationChanged(Location location) {
// reverse geo-code location
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
}, null);
を加えて、あなたははmyHandlerを使用することができます。 removeCallbacksAndMessages(null);代わりに –