在安卓系统上,访问用户储存空间的文件需要申请存储空间权限
此权限在安卓9及之前版本为 android.permission.WRITE_EXTERNAL_STORAGE
和 android.permission.READ_EXTERNAL_STORAGE
,申请写权限时会自动赋予读权限。
安卓6之前只需要在AndroidManifest.xml中申请即可使用,安卓6起需要适配运行时权限,在程序运行时动态申请权限。
安卓9时启用分区储存,targetApi到Q时再AndroidManifest.xml的application中添加 android:requestLegacyExternalStorage="true"
即可屏蔽分区储存,使用上面的方法申请访问储存空间。
在安卓11上,取消储存空间权限(targetApi 不到R不启用,对于到R的强制启用)想要直接访问文件需要申请特殊权限-所有文件管理权限 android.permission.MANAGE_EXTERNAL_STORAGE
,使用 Environment.isExternalStorageManager()
检查用户是否授予权限,在安卓11上 /sdcard/Android/data/包名
目录属于应用私有目录,其他应用无法访问
简单的申请权限例程
AndroidManifest.xml
1 | <manifest |
Activity中
1 |
|