首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法访问android version 11设备上的隐藏文件夹

无法访问android version 11设备上的隐藏文件夹
EN

Stack Overflow用户
提问于 2021-12-17 13:00:49
回答 1查看 675关注 0票数 1

我正在制作一个显示WhatsApp状态的应用程序。WhatsApp状态存储在WhatsApp文件夹中名为".statuses“的隐藏文件中。但是,当我试图从.statuses文件夹中获取子目录和文件列表时,我会得到一个空字符串。此问题仅发生在android版本11设备上。对于没有隐藏的文件夹和android版本小于11的设备,代码运行得非常好。我的代码附在下面:

代码语言:javascript
运行
复制
final Directory _photoDir =
    Directory(
        '/storage/emulated/0/Android/media/com.whatsapp/WhatsApp/Media/.Statuses');

var imageList = _photoDir
          .listSync()
          .map((item) => item.path)
          .where((item) => item.endsWith(".jpg"))
          .toList(growable: false);

print(imageList);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-18 18:07:38

当我们的“目标SDK版本”是30 (Android 11)或更高时,就会出现这个问题。

我们必须将此权限包含在"android清单“文件中:

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />

如果您使用的是像我这样的"permission_handler“包,您可以这样显示权限提示:

代码语言:javascript
运行
复制
 void requestStoragePermission() async {
    Map<Permission, PermissionStatus> result = await [
      Permission.storage,
      Permission.manageExternalStorage,
    ].request();

    //if permission is granted only then show home screen else permission error screen is already shown
    if (result[Permission.storage] == PermissionStatus.granted &&
        result[Permission.manageExternalStorage] == PermissionStatus.granted) {
      setState(() {});
    }
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70393591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档