Android写二级外部存储(权限被拒绝)是指在Android应用程序中尝试访问设备的外部存储(如SD卡)的二级目录时,由于权限问题而被系统拒绝。
解决这个问题的方法如下:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
}
其中,REQUEST_CODE
是一个自定义的请求码,用于在权限请求回调中识别请求。
onRequestPermissionsResult
方法,处理权限请求的回调结果:@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限被授予,可以进行外部存储的写入操作
} else {
// 权限被拒绝,无法进行外部存储的写入操作
}
}
}
getExternalFilesDir()
方法获取应用程序的私有目录,并在该目录下创建子目录进行写入操作:File externalFilesDir = getExternalFilesDir(null);
if (externalFilesDir != null) {
File subDirectory = new File(externalFilesDir, "sub_directory");
if (!subDirectory.exists()) {
subDirectory.mkdirs();
}
// 在sub_directory目录下进行写入操作
}
总结起来,解决Android写二级外部存储权限被拒绝的问题,需要检查权限声明、请求运行时权限、处理权限请求回调,并使用正确的目录进行写入操作。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云