我无法从我的Android设备中排除Android目录并列出所有文件夹和文件。# Flutter
final directory = '/storage/emulated/0/';
final myDir = Directory(fileStr); <- Here i want to Exclude 'Android' Directory
字符串
错误类型
FileSystemException (FileSystemException: Directory listing failed, path = '/storage/emulated/0/Android/obb' (OS Error: Permission denied, errno = 13))
型
我想列出我的Android设备上的所有文件夹和文件,但不包括Android目录。# Flutter
1条答案
按热度按时间5hcedyr01#
面对同样的问题,最近我试图列出所有目录和子目录从我的Android手机和得到同样的错误.
字符串
注意,这只发生在Android版本11及以上。谷歌最新政策不允许应用程序读取Android文件夹内的其他应用程序数据。
我用下面的代码实现了这一点。
不要忘记在您的androidManifest中添加此权限
型
然后在访问文件之前请求权限
型
首先用首选目录声明一个函数,先通过将false传递给listSync递归参数列出所有父文件夹
型
如果recursive为true,则会列出子目录,对于android版本11及以上版本,这将抛出上述错误。
现在你可以进一步过滤列表,并删除任何与Android文件夹或目录匹配的目录
型
好了,现在您可以对过滤的FileSystemEntity列表执行任何您想做的事情了
范例:
您可以进一步对筛选的列表运行for循环操作,并且对于每个FileSystemEntity,您可以通过FileSystemEntity路径传递一个新目录。
下面的操作列出所有PDF文件从您的设备从所有目录排除Android文件夹/目录
型