无法从Android 11中包含.nomedia文件或隐藏文件夹的文件夹中获取文件 [英] Unable to get files from folder with .nomedia file or hidden folder in Android 11

查看:69
本文介绍了无法从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/";。

我现在面临的两个问题:

  1. 如果文件夹隐藏,则在Android 11中,listFiles()对该文件夹返回0。
  2. 如果文件夹未隐藏,但包含一个";.nomedia";文件,则在Android 11中,listFiles()也会对该文件夹返回0。

如何获取Android 11中的所有WhatsApp状态文件?

由于Google策略,我不想对其使用MANAGE_EXTERNAL_STORAGE权限。感谢您

推荐答案

android 11中有访问隐藏目录的方法,其中有两种方法:

  1. <>存储访问框架(SAF),在该框架中,您可以将用户带到特定目录,并向用户请求访问目录文件权限,以及访问其中文件的方式(学习SAF)。

  2. 您可以对该隐藏文件夹使用文件观察器,无论何时从该隐藏目录创建、修改或删除任何文件,您都会获得隐藏文件夹中该特定文件的完整路径。&;一旦您有了完整路径,您就可以访问该文件。

这篇关于无法从Android 11中包含.nomedia文件或隐藏文件夹的文件夹中获取文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆