2

私のアプリは、を使用して現在の場所を見つけますGPS。アウトドアでは問題なく動いています。しかし、GPS利用できない場所や貧弱な場所では、更新を何度も取得しようとし、バッテリーを消耗します。だから私GPSは悪いか利用できないときに更新を停止したい. あなたは使用することを提案するかもしれません

lm.removeUpdates(locationlistenerforGPS);

GPS屋内以外で使用できる場合は問題なく動作しています。GPSが貧弱または利用できない場合は、更新を停止するのが好きです。

私のコードは

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationlistenerforGPS = new mylocationlistenerGPS();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationlistenerforGPS);

私の locationlistenerGPS() 関数は

 private class mylocationlistenerGPS implements LocationListener {
  @Override
  public void onLocationChanged(Location location) {
      counterGPS++;
      if (location != null) {
      Log.d("LOCATION CHANGED", location.getLatitude() + " ");
      Log.d("LOCATION CHANGED", location.getLongitude() + " ");
      Toast.makeText(LocationActivity.this,"latitude: "+
          location.getLatitude() + "longitude: " + location.getLongitude()
          + " Provider:" + location.getProvider() + " Accuracy:" + location.getAccuracy(),
          Toast.LENGTH_LONG).show();
      }

  }
  @Override
  public void onProviderDisabled(String provider) {
  }
  @Override
  public void onProviderEnabled(String provider) {
  }
  @Override
  public void onStatusChanged(String provider, int status, Bundle extras) {
  }
  }

どうぞよろしくお願いいたします。

4

1 に答える 1

1

minTimeでは使用せずminDistance、ゼロに設定してくださいrequestLocationUpdates()requestLocationUpdates()のドキュメントを参照してください。

onStatusChanged()のバンドル エクストラには、サテライトが含まれる場合があります。これは、修正を導出するために使用されるサテライトの数です。このようにして、不十分な信号を定義したり、GPS からの追加情報が必要な場合はNmeaListenerを使用したりできます。

于 2012-07-21T06:39:40.267 に答える