我可以使用 isProviderEnabled() 检查 GPS 是否打开。如果它没有打开,我正在启动意图,以便用户可以启用 GPS。最后,我再次检查用户是否启用了 GPS。如果用户没有启用 GPS 并出来,isProviderEnabled() 仍然返回 NULL。可能是什么问题 ?请指导我。
String provider = LocationManager.GPS_PROVIDER;
// Check if GPS is enabled
boolean enabled = myLocationManager.isProviderEnabled(provider);
if (!enabled) {
// GPS not enabled
Log.d("", "Provider " + provider + " is not enabled");
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
// Consider the case when user does not enable GPS and come out.
} else {
Log.d("", "Provider is enabled");
}
// Re-check if user has enabled or not. (Note: case: user has not enabled GPS)
enabled = myLocationManager.isProviderEnabled(provider);
if(!enabled)
{
Log.d("","provider not enabled");
}
else
{
// Control is coming here though user has not enabled GPS in settings
Log.d("","GPS is enabled");
}
谢谢, Biplab