我想以编程方式确定用户是同意还是不同意在Android设备上打开GPS时出现的“位置同意”对话框。
我无法找到从何处获取此信息,并且不确定在代码中的任何地方是否实际可用?
谢谢!
最佳答案
这是关于位置模式。如果用户同意“位置同意”,则在“高精度”上设置的位置模式。
要检查此模式,可以使用以下代码:
public static boolean checkLocationSettings(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 (SettingNotFoundException e) {
e.printStackTrace();
}
return (locationMode != Settings.Secure.LOCATION_MODE_OFF && locationMode == Settings.Secure.LOCATION_MODE_HIGH_ACCURACY); //check location mode
}else{
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
关于android - 如何以编程方式检查Android“位置同意”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23620873/