Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 存储访问框架-文件选取器应用程序是否未在云上实现操作\打开\文档\树?_Android_Android Intent_Cloud_Filepicker_Storage Access Framework - Fatal编程技术网

Android 存储访问框架-文件选取器应用程序是否未在云上实现操作\打开\文档\树?

Android 存储访问框架-文件选取器应用程序是否未在云上实现操作\打开\文档\树?,android,android-intent,cloud,filepicker,storage-access-framework,Android,Android Intent,Cloud,Filepicker,Storage Access Framework,显然,“文件选择器”应用程序并没有完全实现打开文档树的操作意图 假设执行以下代码: Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

显然,“文件选择器”应用程序并没有完全实现打开文档树的操作意图

假设执行以下代码:

 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
            intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            intent.setType("vnd.android.document/directory");
            intent.addCategory(Intent.CATEGORY_OPENABLE);
            startActivityForResult(intent, OPEN_DIRECTORY_REQUEST_CODE);
 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
            intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            startActivityForResult(intent, OPEN_DIRECTORY_REQUEST_CODE);
发布此错误的原因是:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.OPEN_DOCUMENT_TREE cat=[android.intent.category.OPENABLE] typ=vnd.android.document/directory flg=0x43 }
与此替代类型“application/vnd.google apps.folder”相同

或者不包括添加可打开类别的行

或者使用
intent.setType(DocumentsContract.Document.MIME\u TYPE\u DIR)

而如果执行此代码:

 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
            intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            intent.setType("vnd.android.document/directory");
            intent.addCategory(Intent.CATEGORY_OPENABLE);
            startActivityForResult(intent, OPEN_DIRECTORY_REQUEST_CODE);
 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
            intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            startActivityForResult(intent, OPEN_DIRECTORY_REQUEST_CODE);
没有错误,但只有磁盘根可供用户选择,因此不会显示云空间

如果操作\u打开\u文档是这样使用的:

            Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
            intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            intent.setType("*/*");
            intent.addCategory(Intent.CATEGORY_OPENABLE);
            startActivityForResult(intent, OPEN_FILE_REQUEST_CODE);
云根(我认为只有驱动云域,唯一实现SAF的应用)可用,并且可以选择文件

我进行了实验,并实现了存储访问框架。例如,见本问题:

虽然这是一种黑客行为,指的是创建一个文件夹,而不是选择它(一个文件夹应该是一个“文档树”)

我想我必须找到正确的mime类型,那会是什么?我看到很多时候,当intent有一些错误的类型或标志,但当找到正确的参数时,就会出现错误

否则,如何正式要求谷歌让SAF的“文件选取器”应用程序正确实现自己为Android上自己的存储访问框架创建的云域操作\打开\文档\树意图?
事实上,我希望它已经实现。

如果您没有答案,请告诉我如何与谷歌联系,或者如何打开/提交错误修复请求(如果您是高级开发人员,请自己打开,或者检查它是否已经存在)