【Android】存储读取权限管理理解和api 调研报告

背景

工作和学习需要了解android 权限管理和 对应的api 调用逻辑。

学习

内部路径 不用权限

/data/data/应用包名

相关API Context 类

getCacheDir 缓存路径
getCodeCacheDir

示意路径

getFilesDir

内部文件 文件路径

fileList (files 下的所有文件名)

相关的openFileInputopenFileOutput就是直接在files文件夹读写某个文件:

getDataDir 不常用

外部存储

公共目录 Environment 类 - 需要权限

需要在manifest xml 配置和request Permission 哦~

getExternalStorageDirectory

注意这个不能保证该接口有效,得调用上述的state 看看状态。获取的路径就是如下:

getExternalStoragePublicDirectory

具体的对应文件夹

例如:

//输出:/storage/emulated/0/Music

java 复制代码
Log.d("DaMai",Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getPath();

私有目录 Context类 - 不需要权限

路径:私有目录地址:/storage/emulated/0/Android/data/应用包名

getExternalCacheDir
getExternalFilesDir
java 复制代码
        File file = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES).getAbsoluteFile();

使用方式和内部存储的差不多,不过路径不一样罢了。

注意版本权限

·WRITE_EXTERNAL_STORAGE在android11 之后就不再支持了。。

高版本中使用存储权限可以 用如下的配置:

READ_MEDIA_AUDIO,

READ_MEDIA_IMAGES,

READ_MEDIA_VIDEO

文章参考

相关推荐
2501_9159090610 小时前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
Lvan的前端笔记10 小时前
AndroidX 完全入门指南
android·androidx
帅次10 小时前
Android 应用高级面试:Window 近1年高频追问 18 题
android·面试·职场和发展
总捣什么乱111 小时前
MySQL MySQL是怎么保证主备一致的?
android·mysql·adb
zzm62811 小时前
精读 HinDroid:基于异构信息网络的安卓恶意软件检测
android
weixin_4407841112 小时前
Android基础知识汇总
android·java·android studio
sbjdhjd12 小时前
安全初级 | Upload 文件上传漏洞实操
android·经验分享·安全·网络安全·开源·php·apache
small-pudding12 小时前
Cocos Creator Android 热更新方案实践:逻辑更新、远程 Bundle 与线上回滚
android
00后程序员张13 小时前
iOS加固技术路线全面解析:Bitcode模式、源码模式与汇编模式对比及爱加密优势
android·汇编·ios·小程序·uni-app·cocoa·iphone
yunsr13 小时前
PHP函数及漏洞防御
android·开发语言·php