Android关闭GPS

时间:2011-10-25 13:31:13

标签: android

我可以在应用程序中打开/关闭GPS吗?由于它耗尽了大量电池,我可以将其关闭一段时间吗?或者有更好的解决方案......

6 个答案:

答案 0 :(得分:3)

您要求用户执行此操作(可能使用吐司),启动此活动

if(!LocationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ))
{
    Intent myIntent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS );
    startActivity(myIntent);
}

答案 1 :(得分:2)

试试这个......

   locationManager.removeUpdates(myLocationListener); locationManager = null;

答案 2 :(得分:1)

private void turnGPSOn(){
    String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

    if(!provider.contains("gps")){ //if gps is disabled
        final Intent poke = new Intent();
        poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); 
        poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
        poke.setData(Uri.parse("3")); 
        sendBroadcast(poke);
    }
}

private void turnGPSOff(){
    String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

    if(provider.contains("gps")){ //if gps is enabled
        final Intent poke = new Intent();
        poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
        poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
        poke.setData(Uri.parse("3")); 
        sendBroadcast(poke);
    }
}

答案 3 :(得分:0)

您无法自行打开/关闭它。但是,您可以提示用户关闭/打开它:How to programmatically enable GPS in Android Cupcake

答案 4 :(得分:0)

我认为作为一种安全措施,android系统不允许你打开和关闭用户的gps(我认为是android 2.0)。您可以停止获取更新并且应该停止使用gps(除非其他应用程序使用它),或者要求用户将其关闭。

答案 5 :(得分:0)

您可以停止在应用程序中侦听GPS事件(如果您的应用程序使用GPS)。 例如,使用LocationManager.removeUpdates

如果你想在操作系统级别“关闭”GPS,我认为不可能以编程方式进行。