【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

文章参考

相关推荐
m0_548514773 小时前
2024.12.10——攻防世界Web_php_include
android·前端·php
凤邪摩羯3 小时前
Android-性能优化-03-启动优化-启动耗时
android
凤邪摩羯3 小时前
Android-性能优化-02-内存优化-LeakCanary原理解析
android
喀什酱豆腐4 小时前
Handle
android
m0_748232925 小时前
Android Https和WebView
android·网络协议·https
m0_748251725 小时前
Android webview 打开本地H5项目(Cocos游戏以及Unity游戏)
android·游戏·unity
m0_748254667 小时前
go官方日志库带色彩格式化
android·开发语言·golang
zhangphil7 小时前
Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现“刮刮乐”效果,Kotlin(2)
android·kotlin
爱学测试的李木子8 小时前
从0到1搭建 Android 自动化 python+appium 环境
android·软件测试·python·测试工具·自动化
咸芝麻鱼8 小时前
Android Studio | 连接手机设备后,启动App时出现:Waiting For DebuggerApplication (App名)...
android·adb·智能手机·android studio