1.除了要开启定位权限,还要开启定位服务,也就是手机设置里面的位置信息,安卓9以前都是默认开启的,安卓10以后放到桌面下拉框了,如果位置信息没有开启,也是没办法定位的
2.1 判断手机定位服务是否开启
/**
* 判断定位服务是否开启
*
* @param context 上下文
* @return true:开启;false:未开启
*/
public static boolean isLocationEnabled(Context context) {
int locationMode = 0;
String locationProviders;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
return false;
}
return locationMode != Settings.Secure.LOCATION_MODE_OFF;
} else {
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
2.2 跳转到系统的定位服务页面
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
版权声明:本文为guodashen007原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。