答案 0 :(得分:4)
您必须完全关闭LocationManager。我在我的应用程序中做到了这一点,我每10秒只检查一次位置,因为我发现,关闭比使用LocationManager的min_distance或min_time节省了更多的电池电量。
类似的东西:
// Turning off
mLocationManager.removeUpdates(gpsListener);
mLocationManager = null;
// Turning on again
mLocationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_MINTIME, GPS_MINDISTANCE, gpsListener);
图标将消失,直到再次打开LocationManager。
答案 1 :(得分:1)
如果您有叠加层,请考虑禁用它们上的位置:
@Override
protected void onResume()
{
Log.i("ProjetTEA", "onResumeMain");
if (mLocationListener != null)
{
mLocationOverlay.enableMyLocation();
mLocationManager = (LocationManager) getApplicationContext().getSystemService(LOCATION_SERVICE);
mLocationManager.requestLocationUpdates(mBestProvider, 10000, 2, mLocationListener);
}
super.onResume();
}
@Override
protected void onPause()
{
Log.i("ProjetTEA", "onPauseMain");
mLocationOverlay.disableMyLocation();
mLocationManager.removeUpdates(mLocationListener);
mLocationManager = null;
super.onPause();
}