getExternalFilesDir对应的目录是/sdcard/Android/data/包名/files/…

可以看到它主要是用来存放应用私有的一些文件。这个目录有几个特性:

自动删除

当应用卸载的时候,这些文件会被删除。当然前提是sd卡可用。

其他应用访问

这些文件可以被其他应用访问,但是前提是其他应用有外部存储权限。

但是注意在Android 11以后即使有存储权限,其他应用也不允许访问这些文件了。

存储权限

在Android api 19(即4.4)之后,本应用即使没有存储权限,也可以访问这些文件,虽然它们是在sd卡上。官方文档如下:

Starting in {@link android.os.Build.VERSION_CODES#KITKAT}, no permissions
are required to read or write to the returned path; it’s always
accessible to the calling app. This only applies to paths generated for
package name of the calling application. To access paths belonging to
other packages,

鉴于目前大部分App的minSdkVersion都是19或以上,所以当使用这个目录的时候,是没必要再请求存储权限的。

关注公众号:BennuCTech,获取更多干货!

getExternalFilesDir到底是什么相关推荐

  1. APP的缓存文件到底应该存在哪?

    只要是需要进行联网获取数据的APP,那么不管是版本更新,还是图片缓存,都会在本地产生缓存文件.那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢? ...

  2. APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了

    只要是需要进行联网获取数据的APP,那么不管是版本更新,还是图片缓存,都会在本地产生缓存文件.那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢? ...

  3. 【Android开发经验】APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 只要是需要进行联网获取数据的APP,那么不管是版本更新,还是图片缓存,都会在本地产生缓存文件.那么,这些缓存 ...

  4. [转载]Tensorflow 的reduce_sum()函数的axis,keep_dim这些参数到底是什么意思?

    转载链接:https://www.zhihu.com/question/51325408/answer/125426642 来源:知乎 这个问题无外乎有三个难点: 什么是sum 什么是reduce 什 ...

  5. 硬核科普:到底啥是云原生?

    本文主要根据课程 什么是云原生?_哔哩哔哩_bilibili 总结而来,其他参考文章如下: <云原生人才计划之Kubernetes 技术图谱>发布! - 知乎 (zhihu.com) ku ...

  6. 深度学习到底有哪些卷积?

    深度学习到底有哪些卷积? 深度学习中不同种类的卷积(比如 2D / 3D / 1x1 /转置/扩张(Atrous)/空间可分/深度可分/平展/分组/混洗分组卷积),能帮理解实际的工作方式. 总结深度学 ...

  7. Context.getExternalFilesDir()和Context.getExternalCacheDir()

    在Android手机里面,缓存的位置分为两类 一个是内部存储 另一个是外部存储 Context.getExternalFilesDir()和Context.getExternalCacheDir() ...

  8. Adnroid文件存储路径getFilesDir()与getExternalFilesDir的区别

    1 getFilesDir() 是获取手机sd卡根目录,然后自己在自定义文件 这样写android6.0需要获取存储权限, 记得添加, 保存之后文件保存到了sd卡当手机app卸载之后保存的文件不会随之 ...

  9. 做技术到底可以做到哪种地步-技术为什么越走越窄 (转)

    尽管做技术已经有不少年头了,不管是犹犹豫豫还是坚定不移,我们走到了现在,依然走在技术这条路上. 不管我们处于何种职位,拿着哪种薪水,其实,我们会是不是的问问自己"做技术到底可以做到那种地步& ...

最新文章

  1. MIT提出Matlab插件mNeuron:实现深度模型神经元的可视化
  2. RDC Lent ifm IP Analysis Exercise
  3. Redis数据库(二)——数据类型
  4. php目的,php umask(0)的目的是什么
  5. 选择与循环:剪刀石头布_Python之石头剪刀布小游戏(史上最详细步骤)
  6. java的et5_Javascript与java相同的3des加密(使用etdesede/CBC/PKCS5Padding )
  7. UVA3942 Remember the Word
  8. Spring Boot 分布式会话
  9. 大二计算机应用基础1200体会,计算机应用基础1200题.doc
  10. HDU——2768 Cat vs. Dog
  11. 去除地址栏带#的问题
  12. 如何下载FLASH动画
  13. 计算机文字录入ppt,计算机基础——文字录入.ppt
  14. 36个excel技巧、50个快捷键
  15. 计算任意2个日期内的工作日(没有考虑到国定假日
  16. C++四书五经_完整版(侯捷)
  17. Oulipo---KMP
  18. 软件生存周期的图示——DO-178B/ED-12B学习笔记之九
  19. yocto project
  20. 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:06 高级特征工程和NLP算法

热门文章

  1. Kindeditor小改动
  2. [转载]acm进阶之路
  3. 何时才有Email发布功能
  4. 入手腾龙SP AF90mm MACRO
  5. sublime text3安装
  6. Docker与CI持续集成/CD(转)
  7. TypeScript 素描 - 模块解析、声明合并
  8. 王佩丰第2讲-excel单元格格式设置 笔记
  9. “记录”是给世界做积极贡献的一种方式
  10. 冒泡排序,swich语句,while循环...基础性的一道综合题初学者可以做一个简单的测试...