我的应用程序需要打开GPS,是否有任何方法可以检查GPS当前是否启用,如果没有,则如何启用。我正在使用android 2.3
Android不允许您这样做。你能做的最好的事情就是检查GPS是否启用,如果没有,请用户激活它。
在这里,你可以看到如何知道GPS是否已启用:我如何发现Android设备的GPS是否已启动
你可以这样做。。查看
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);
}
}