在 Android 中使用 ContextCompat.checkSelfPermission() 检查权限时,如果发现权限未被授予,可以使用 ActivityCompat.requestPermissions() 请求权限。代码示例:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.ACCESS_COARSE_LOCATION }, PERMISSIONS_REQUEST_CODE);
}

其中的 PERMISSIONS_REQUEST_CODE 是一个整型常量,用于标识权限请求的返回结果,以便在 onRequestPermissionsResult() 方法中进行处理。

定义 PERMISSIONS_REQUEST_CODE

PERMISSIONS_REQUEST_CODE 可以定义为一个静态 final 变量,例如:

private static final int PERMISSIONS_REQUEST_CODE = 1001;

这里的 1001 是任意数字,只要确保它是一个独一无二的整数即可。

onRequestPermissionsResult() 方法中处理权限请求结果

onRequestPermissionsResult() 方法中,可以使用 requestCode 参数来判断哪个权限请求的返回结果。例如:

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == PERMISSIONS_REQUEST_CODE) {
        // 处理权限请求结果
    }
}

总结

PERMISSIONS_REQUEST_CODE 是一个重要的标识符,用于在 Android 权限请求流程中区分不同的权限请求,并帮助开发者在 onRequestPermissionsResult() 方法中处理不同的权限请求结果。

Android 权限请求代码 PERMISSIONS_REQUEST_CODE 解释

原文地址: https://www.cveoy.top/t/topic/mZxX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录