我的应用程序使用查找当前位置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) {
}
}
非常感谢您提供的任何帮助。