1
             LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

             LocationListener ll = new mylocationlistener();


               lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, ????, 20, ll);

1. minDistance(20m)のみを適用する場合、どのminTimeパラメーターを入力する必要がありますか?0、-1、または100000000?

2.ちなみに、元の場所からすでに20 mの距離に到達したことをユーザーに促したいのですが、プログラム開始時にすぐにリクエスト更新を行い、位置変更機能を呼び出すと、距離に達するまで位置変更機能を無視できますか?

4

1 に答える 1

0

これを試してください(テストされていませんが、ドキュメントに基づいています):

final LocationManager locationManager =  LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
class implements LocationListener {
    Location storedLocation;
    public void onLocationChanged(Location newLocation) {
        if (storedLocation.equals(null)) {
            storedLocation = newLocation;
        }
        if ((newLocation.distanceTo(storedLocation) > 20.0) { 
            locationManager.removeUpdates(self);   
            return;
        }
        storedLocation = newLocation;
    }
    public void onProviderDisabled(String provider) { }
    public void onProviderEnabled(String provider) { }
    public void onStatusChanged(String provider, int status, Bundle extras) { }
}
于 2012-11-14T03:10:06.313 に答える