栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android 10 申请动态权限以后仍然无法读写文件的解决方案

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 10 申请动态权限以后仍然无法读写文件的解决方案

  1. 仍然以targetSdkVersion 为 29,但是可在AndroidManifest.xml中application标签添加 android:requestLegacyExternalStorage="true",这样也可以,但是注意compileVersion也必须同时为 29 :

android {

compileSdkVersion 29

buildToolsVersion “29.0.3”

defaultConfig {

applicationId “com.android.test.lib”

minSdkVersion 19

t

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享

argetSdkVersion 29

versionCode 1

versionName “1.0”

}

}

这种方案暂时有效,但是官方在未来的版本中可能去掉这个设置。

  1. 如果你是存文件,并且只是应用内自己访问,可以将文件存在私有目录下,可以使用 getExternalFilesDir 或 getExternalCacheDir 等方法, 以下我列出了几种常用的私有目录文件访问方式获取到的对应路径:

| 方法 | 获取的路径 |

| :-- | :-- |

| getExternalFilesDir(null) | 根目录下的 Android / data / [your_packageName] / files |

| getExternalCacheDir() | 根目录下的 Android / data / [your_packageName] / files / cache |

| getExternalMediaDirs() | 根目录下的 Android / media / [your_packageName] |

| getFilesDir() | / data / user / 0 / [your_packageName] / files |

| getCacheDir() | / data / user / 0 / [your_packageName] / cache |

| openFileOutput(“aaa.txt”, Context.MODE_PRIVATE) | data / data / [your_packageName] / files / aaa.txt |

其中,getExternalFilesDir可以传一个名字,获取对应类型的文件夹:

// /storage/emulated/0/Android/data/[your_packageName]/files/Pictures

File dir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);

// /storage/emulated/0/Android/data/[your_packageName]/files/documents

File dir = getExternalFilesDir(Environment.DIRECTORY_documentS);

// /storage/emulated/0/Android/data/[your_packageName]/files/Movies

File dir = getExternalFilesDir(Environment.DIRECTORY_MOVIES);

但是这种方法只能访问应用自己的应用目录,不能访问除此之外的其他公共目录,这种被称为App-specific目录。访问公共目录或其他APP的App-specific目录,只能通过MediaStore、SAF、或者其他APP 提供的ContentProvider、FileProvider等访问。

【附】相关架构及资料

源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,和技术大牛一起讨论交流解决问题。

+Weex)微信小程序、Flutter全方面的Android进阶实践技术,和技术大牛一起讨论交流解决问题。**

[外链图片转存中…(img-OqdV7JVl-1640917201274)]

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号