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上自己的存储访问框架创建的云域操作\打开\文档\树意图?
事实上,我希望它已经实现。如果您没有答案,请告诉我如何与谷歌联系,或者如何打开/提交错误修复请求(如果您是高级开发人员,请自己打开,或者检查它是否已经存在)