Unable to get files from folder with .nomedia file or hidden folder in Android 11(无法从Android 11中包含.nomedia文件或隐藏文件夹的文件夹中获取文件)
问题描述
我要获取WhatsApp的.Status文件夹中的所有文件。在android10之前,我会完美地获取所有状态文件。但在Android 11上,由于新的限制,当我编写如下代码时:
File(Environment.getExternalStorageDirectory().absolutePath + File.separator + "Android/media/com.whatsapp/WhatsApp/Media/.Statuses").listFiles()
我总是得到0个文件。而我正在成功获取此路径上的其他文件夹文件";Android/media/com.whatsapp/WhatsApp/Media/";。
我现在面临的两个问题:
- 如果文件夹隐藏,则在Android 11中,listFiles()对该文件夹返回0。
- 如果文件夹未隐藏,但包含一个";.nomedia";文件,则在Android 11中,listFiles()也会对该文件夹返回0。
如何获取Android 11中的所有WhatsApp状态文件?
由于Google策略,我不想对其使用MANAGE_EXTERNAL_STORAGE权限。感谢您推荐答案
在android 11中有访问隐藏目录的方法,其中有两种方法:
<>存储访问框架(SAF),在该框架中,您可以将用户带到特定目录,并向用户请求访问目录文件权限,以及访问其中文件的方式(学习SAF)。
您可以对该隐藏文件夹使用文件观察器,无论何时从该隐藏目录创建、修改或删除任何文件,您都会获得隐藏文件夹中该特定文件的完整路径。&;一旦您有了完整路径,您就可以访问该文件。
这篇关于无法从Android 11中包含.nomedia文件或隐藏文件夹的文件夹中获取文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:无法从Android 11中包含.nomedia文件或隐藏文件夹的文件夹中获取文件


基础教程推荐
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01