加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

android – 通过Flutter插件在ExternalStorageDirectory访问权限

发布时间:2020-12-14 14:51:00 所属栏目:百科 来源:网络整理
导读:我写了一个插件来通过Dart访问 Android上的ExternalStorageDirectory. 这个插件的android特定代码: @Override public void onMethodCall(MethodCall call,Result result) { if (call.method.equals("getUserDataDirectory")) { String path = Environment.g
我写了一个插件来通过Dart访问 Android上的ExternalStorageDirectory.

这个插件的android特定代码:

@Override
  public void onMethodCall(MethodCall call,Result result) {
    if (call.method.equals("getUserDataDirectory")) {
      String path = Environment.getExternalStorageDirectory().getAbsolutePath();
      result.success(path);
    } else {
      result.notImplemented();
    }
  }

返回的路径是正确的存储/模拟/ 0.但现在如果我尝试迭代抛出目录我得到一个权限被拒绝.

error.log中

[ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter ( 3381): FileSystemException: Directory listing failed,path = '/storage/emulated/0/' (OS Error: Permission denied,errno = 13)
E/flutter ( 3381): #0      _Directory._fillWithDirectoryListing (dart:io-patch/directory_patch.dart:32)
E/flutter ( 3381): #1      _Directory.listSync (directory_impl.dart:214)
E/flutter ( 3381): #2      _MyAppState.initPathRequest (/data/user/0/com.yourcompany.userdatadirectoryexample/cache/exampleIAKNFP/example/lib/main.dart:34:25)

main.dart

path = await Userdatadirectory.getUserDataDirectory;

    var dir = new Directory(path);

    List contents = dir.listSync();
    for (var fileOrDir in contents) {
      print(fileOrDir.path);
    }

我的示例/ android / app / src / AndroidManifest.xml包含以下额外的提交:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

这里有什么问题?

解决方法

您可以使用这两个包中的任何一个来请求设备权限: https://pub.dartlang.org/packages/simple_permissions或 https://pub.dartlang.org/packages/permission.他们有简单的API和全面的例子.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读