在Android 11上获取请求所有文件访问权限的步骤如下:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
// 权限未被授予,需要请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
} else {
// 权限已被授予,可以进行文件访问操作
// TODO: 处理文件访问逻辑
}
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
其中,REQUEST_CODE
是一个自定义的整数值,用于标识权限请求。
onRequestPermissionsResult
方法,以处理权限请求的结果:@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED &&
grantResults[1] == PackageManager.PERMISSION_GRANTED) {
// 权限已被授予,可以进行文件访问操作
// TODO: 处理文件访问逻辑
} else {
// 权限被拒绝,无法进行文件访问操作
// TODO: 处理权限被拒绝的情况
}
}
}
以上是在Android 11上获取请求所有文件访问权限的基本步骤。在实际应用中,可以根据具体需求进行进一步的文件访问操作,例如读取、写入、删除文件等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云