小编jvo*_*tci的帖子

Flutter:共享存储(存储访问框架 API)隐藏子目录内文件的权限不起作用

如何实现列出隐藏子目录中的所有文件(例如媒体),即文件夹名称以“.”开头 例如在 Flutter/Dart 中使用 SAF 后的“ (.media) ”?

我已经使用 ACTION_OPEN_DOCUMENT_TREE 让用户选择一个文件夹[因此避免使用 MANAGE_EXTERNAL_STORAGE]但无法查看即读取该文件夹的隐藏子目录内的文件。

授予权限的文件夹是media

存储/模拟/0/内部存储/Android/媒体/matrix/.new/

问题:

无法列出子文件夹.new中的所有文件

同时...

能够访问矩阵子文件夹内的文件(不是文件夹)

另外,如果我将子文件夹“.new”重命名为new,我就可以列出该文件夹内的所有文件

我正在使用 flutter/dart。对于共享存储权限,我使用了Kotlin自定义本机代码。

科特林代码:

override fun configureFlutterEngine(flutterEngine: FlutterEngine) {

        GeneratedPluginRegistrant.registerWith(flutterEngine)

        MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)

                .setMethodCallHandler{ call: MethodCall, result: MethodChannel.Result -> run {
                                if (call.method.contentEquals("getSAFPermission")) {
                                    if (VERSION.SDK_INT > 29) {
                                        openDirectory(_initialPickerDirPath) //@String path
                                    } else {
                                        result.success(true)
                                    }
                                }
                            }
                        }
}

private fun openDirectory(pickerInitialUri: String) { 
           val …
Run Code Online (Sandbox Code Playgroud)

hidden android dart kotlin flutter

5
推荐指数
1
解决办法
3284
查看次数

标签 统计

android ×1

dart ×1

flutter ×1

hidden ×1

kotlin ×1