WRITE_EXTERNAL_STORAGE 权限怎么添加
时间: 2023-07-30 22:04:18 浏览: 218
ZFile:Android文件管理类,包括打开不同后缀文件,创建文件目录,获取文件目录大小,复制文件,读取写入文件等。注意:需要添加三个权限 WRITE_EXTERNAL_STORAGE、READ_EXTERNAL_STORAGE、MOUNT_UNMOUNT_FILESYSTEMS
在 AndroidManifest.xml 文件中添加以下代码:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
这样就可以在应用中访问外部存储器并写入数据了。但是,从 Android 6.0(API 级别 23)开始,应用需要在运行时请求权限才能访问外部存储器。因此,您需要在代码中实现以下步骤:
1. 在 AndroidManifest.xml 文件中添加以下代码:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
2. 在您的 Activity 或 Fragment 中添加以下代码:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_WRITE_STORAGE);
}
```
其中,REQUEST_WRITE_STORAGE 是您自己定义的一个请求码。
3. 在您的 Activity 或 Fragment 中实现 onRequestPermissionsResult() 方法,以处理权限请求结果:
```
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_WRITE_STORAGE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限已授予,可以访问外部存储器
} else {
// 权限被拒绝,无法访问外部存储器
}
}
}
```
这样,您就可以在应用中访问外部存储器并写入数据了,并且在 Android 6.0 及以上版本中,您的应用还会请求用户授权访问外部存储器。
阅读全文