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_ 请参阅requestLocationUpdates()文档。minDistancerequestLocationUpdates()

onStatusChanged()中的捆绑附加功能可能包括卫星 - 用于派生修复的卫星数量,这样您可以定义较差的信号,或者如果您需要来自 GPS 的其他信息,您可以使用NmeaListener 。

于 2012-07-21T06:39:40.267 回答