时间:2010-07-26 08:21:00

标签: android gps

2 个答案:

答案 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();
}