如何以编程方式检查Android“;地点同意书;?

如何以编程方式检查Android“;地点同意书;?,android,permissions,gps,location,Android,Permissions,Gps,Location,我想通过编程确定用户是否同意在Android设备上打开GPS时出现的“位置同意”对话框 我一直无法找到从何处获取此信息,并且我不确定代码中的任何地方是否实际可用 谢谢 这是关于定位模式的。如果用户同意“定位同意”,则定位模式设置为高精度 要检查此模式,可以使用以下代码: public static boolean checkLocationSettings(Context context) { int locationMode = 0; String locationP

我想通过编程确定用户是否同意在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);
    }


}

检查较新的gms.location.SettingsApi。生成LocationRequest并询问当前系统设置是否兼容,然后根据需要处理结果