【发布时间】:2012-02-19 15:51:09
【问题描述】:
我的应用程序需要开启 GPS,有没有办法检查 GPS 当前是否启用,如果没有,那么如何启用。 我使用的是安卓 2.3
【问题讨论】:
我的应用程序需要开启 GPS,有没有办法检查 GPS 当前是否启用,如果没有,那么如何启用。 我使用的是安卓 2.3
【问题讨论】:
Android 不允许您这样做。您可以做的最好的事情是检查 GPS 是否已启用,如果未启用,请让用户激活它。
这里你可以看到如何知道 GPS 是否启用:How do I find out if the GPS of an Android device is enabled
【讨论】:
你可以这样做..检查一下
private void turnGPSOn()
{
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps"))
{ //if gps is off
final Intent enablegps = new Intent();
enablegps.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
enablegps.addCategory(Intent.CATEGORY_ALTERNATIVE);
enablegps.setData(Uri.parse("3"));
sendBroadcast(enablegps);
}
}
private void turnGPSOff()
{
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(provider.contains("gps"))
{ //if gps is on
final Intent disablegps = new Intent();
disablegps.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
disablegps.addCategory(Intent.CATEGORY_ALTERNATIVE);
disablegps.setData(Uri.parse("3"));
sendBroadcast(disablegps);
}
}
【讨论】: