context.getExternalCacheDir File externalCacheDir = context.getExternalCacheDir(); 特点 应用外部存储空间 数据文件私有 需要申请权限(READ_EXTERNAL_STORAGE...context.getExternalFilesDir File externalFilesDir = context.getExternalFilesDir(null); 特点 应用外部存储空间 数据文件私有 需要申请权限(READ_EXTERNAL_STORAGE...File externalStorageDirectory = Environment.getExternalStorageDirectory(); 特点 应用外部存储空间 数据文件非私有 需要申请权限(READ_EXTERNAL_STORAGE...Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); 特点 应用外部存储空间 数据文件非私有 需要申请权限(READ_EXTERNAL_STORAGE
例如,应用在Manifest里同时注册了READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAG两个权限。...在targetApi=25或之前的版本中,当应用请求READ_EXTERNAL_STORAGE权限并且用户授权了之后,系统会自动授予WRITE_EXTERNAL_STORAG权限,因为READ_EXTERNAL_STORAGE...但在安卓8.0系统中,只有READ_EXTERNAL_STORAGE会被授权,但是当应用再次申请WRITE_EXTERNAL_STORAG权限时,系统会不提示用户直接授权。
那么从Android 4.4开始,Google引入了READ_EXTERNAL_STORAGE权限。...READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE都被划入了运行时权限的范畴。...而App通过MediaStore API读取照片、视频、音频等公共型资源,仍需要申请READ_EXTERNAL_STORAGE权限才行。...App只需要申请READ_EXTERNAL_STORAGE权限之后,即可访问手机公共存储空间的照片、视频、音频,用户无法以更细的颗粒度对App进行授权。...Android 12及以下系统,我们只需要声明READ_EXTERNAL_STORAGE权限即可。
继续使用 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限,只不过当拥有这些权限的时候,你只能访问媒体文件,无法访问其他文件。...Context.getExternalFilesDir(Environment.DIRECTORY_PICTURES) 访问其他应用创建的文件 只有在满足以下两个条件时,您的应用才能访问其他应用创建的文件: 1、 您的应用已获得 READ_EXTERNAL_STORAGE...文件访问权限摘要 文件位置 所需权限 访问方法 卸载时是否删除文件 应用私有目录 无 getExternalFilesDir() 是 媒体集合(照片、视频、音频) READ_EXTERNAL_STORAGE
在较低版本的 Android 系统中,只要声明READ_EXTERNAL_STORAGE权限就能访问位于外部存储空间中应用专属目录之外的任何文件;只要声明WRITE_EXTERNAL_STORAGE权限就能向应用专属目录以外的任何文件写入数据...除访问自己的媒体文件外,访问其它应用的媒体文件需要权限——在 Android 11(API 30)或更高版本中,需要 READ_EXTERNAL_STORAGE;在 Android 10(API 29)...中,需要 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE;在更低版本中,访问所有文件均需要相关权限。...使用照片选择器可以看作定制的动态申请权限的界面,至少从Android 13(API 32)开始,无需事先声明 READ_EXTERNAL_STORAGE。
Q: 如果我的应用没有访问照片、视频或音频文件,是否仍然需要请求 READ_EXTERNAL_STORAGE 权限?...A: 不需要,从 Android 11 开始,仅在访问其他应用所属的媒体文件时才需要请求 READ_EXTERNAL_STORAGE 权限。...如果您不想使用系统文件选择器,您仍然可以请求 READ_EXTERNAL_STORAGE 权限,它会使您的应用可以访问所有的照片、视频以及音频文件,同时也包含访问 File API 的权限!...如果您的应用为了上面提到的方式保存文档而请求 READ_EXTERNAL_STORAGE 权限的话,在 Android 11 及更高版本中将不必再请求该权限。
加载游戏中的广告资源,如观看广告视频30S赠送游戏积分、道具; 4.离线缓存至外部存储私有目录/storage/emulated/0/Android/data/packagename(包名),无需申请READ_EXTERNAL_STORAGE...权限和WRITE_EXTERNAL_STORAGE权限; 5.安卓10及以上的应用通过拍照方式上传头像不需申请 READ_EXTERNAL_STORAGE 和WRITE_EXTERNAL_STORAGE...权限,除非对已拍照的图片进行二次编辑,需要申请WRITE_EXTERNAL_STORAGE权限;安卓9及以下应用通过拍照方式上传头像则需要 READ_EXTERNAL_STORAGE 与 WRITE_EXTERNAL_STORAGE
那么原因则是没有获取READ_EXTERNAL_STORAGE权限。
大部分应用都会请求 READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE 存储权限,来做一些诸如在 SD 卡中存储文件或者读取多媒体文件等常规操作。...需要申请READ_EXTERNAL_STORAGE 权限:通过 MediaStore API对所有的媒体集进行查询、修改、删除的操作。...新增权限 MANAGE_EXTERNAL_STORAGE : 类似以前的 READ_EXTERNAL_STORAGE + WRITE_EXTERNAL_STORAGE ,除了应用专有目录都可以访问。...媒体集 1) 查询媒体集(需要 READ_EXTERNAL_STORAGE 权限) 实际上 MediaStore 是以前就有的 API ,不同的是过去主要通过 MediaStore.Video.Media...// Need the READ_EXTERNAL_STORAGE permission if accessing video files that your // app didn't create.
另外,我们的应用程序向媒体库贡献的图片、音频或视频,将会自动拥有其读写权限,不需要额外申请READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限。...而如果你要读取其他应用程序向媒体库贡献的图片、音频或视频,则必须要申请READ_EXTERNAL_STORAGE权限才行。...然而在Android 13当中,Google为了让用户能够更精细化地管理媒体权限,反而先对READ_EXTERNAL_STORAGE权限下手了。...从Android 13开始,如果你的应用targetSdk指定到了33或以上,那么READ_EXTERNAL_STORAGE权限就完全失去了作用,申请它将不会产生任何的效果。...也就是说,以前只要申请一个READ_EXTERNAL_STORAGE权限就可以了。现在不行了,得按需申请,用户从而能够更加精细地了解你的应用到底申请了哪些媒体权限。
即使你声明了 READ_EXTERNAL_STORAGE 权限,你的应用程序也只能访问自己的媒体文件或存储在媒体库中的公共文件。...Android 13(API 级别 33)以后:READ_EXTERNAL_STORAGE 权限被细分,需要获取对应媒体权限permission.READ_MEDIA_VIDEO,permission.READ_MEDIA_IMAGES
在使用的时候,需要判断外部存储的挂载状态(getExternalStorageState(File)),还需要申请读写权限(READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE...如果是之前的物理存储(物理SD卡)则不会自动删除该目录,及目录下的文件 在使用的时候,需要判断外部存储的挂载状态(getExternalStorageState(File)),还需要申请读写权限(READ_EXTERNAL_STORAGE
ROCESS_OUTGOING_CALLS、传感器 BODY_SENSORS、短信 SEND_SMS、 短信 RECEIVE_SMS、短信 EAD_SMS、短信 RECEIVE_WAP_PUSH、短信 RECEIVE_MMS、 存储 READ_EXTERNAL_STORAGE
Android Q仍然使用READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE作为面向用户的存储相关运行时权限,但现在即使获取了这些权限,访问外部存储也受到了限制。
从Android 4.1开始,读操作受权限READ_EXTERNAL_STORAGE保护。...写这个路径需要 WRITE_EXTERNAL_STORAGE权限,读需要 READ_EXTERNAL_STORAGE权限,当然写权限默认包含了读权限。
展示特定文件夹内的文件和视频 使用以下方法: 使用 "请求应用权限" 一文中描述的最佳实践来请求 READ_EXTERNAL_STORAGE 权限。...提供您自己的用户界面 使用以下方法: 使用 "请求应用权限" 一文中描述的最佳实践来请求 READ_EXTERNAL_STORAGE 权限。 使用 query() API 查询媒体集合。...在 Android 11 上运行 使用以下方法: 使用 "请求应用权限" 一文中描述的最佳实践来请求 READ_EXTERNAL_STORAGE 权限。 使用直接文件路径访问文件。
PROCESS_OUTGOING_CALLS SENSORS BODY_SENSORS SMS SEND_SMS RECEIVE_SMS READ_SMS RECEIVE_WAP_PUSH RECEIVE_MMS STORAGE READ_EXTERNAL_STORAGE...例如,在应用中申请READ_EXTERNAL_STORAGE权限,用户同意授权后,则应用同时具有READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限。
从 Android 11 开始,使用 分区存储模式 的应用即使拥有 READ_EXTERNAL_STORAGE 权限,也无法再访问外部存储中的任何其他应用的 专属目录 中的文件。
Android 4.1 ● 开发者选项出现”强制应用声明读权限才可以进行读操作”的开关 3、Android 4.2 ● 支持多用户,每个用户拥有独立的外部存储 4、Android 4.4 ● 读操作需要声明READ_EXTERNAL_STORAGE...Storage特性 6、Android 7.0 ● 引入作用域目录访问 [2.png] 补充一个点: 如果应用的minSdkVersion和targetSdkVersion设置成<=3,系统会默认授予READ_EXTERNAL_STORAGE...如果应用的minSdkVersion和targetSdkVersion设置成<=3,系统会默认授予READ_EXTERNAL_STORAGE权限。 二、部分特性讲解 > 1.模拟外部存储 a.
RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH', RECEIVE_MMS: 'android.permission.RECEIVE_MMS', READ_EXTERNAL_STORAGE
领取专属 10元无门槛券
手把手带您无忧上云