0

我正在尝试使用一个Intent来启动一个应用程序来选择一个文件夹。我已经查看了很多关于此的线程,除了那些对特定应用程序(如 OI)进行硬编码引用的解决方案之外,我还没有找到任何解决方案。例如: Intent intent = new Intent("org.openintents.action.PICK_DIRECTORY");

我不断收到这些错误可能是因为我的模拟器上没有正确的应用程序:

  • //没有找到处理Intent的Activity { act=android.intent.action.PICK dat=directory:// }
  • //没有找到处理Intent的Activity { act=android.intent.action.PICK dat=folder:// }
  • //没有找到处理Intent的Activity { act=android.intent.action.PICK dat=content://vnd.google-apps.folder }
  • //没有找到处理Intent的Activity { act=android.intent.action.PICK dat=file:///storage/emulated/0 }
  • //没有找到处理Intent的Activity { act=android.intent.action.GET_CONTENT dat=file:///storage/emulated/0 }

我发现了几个确实返回文件或文件夹的示例应用程序。我想我会抓住其中一个并重写它以供我使用。我宁愿让Intent用于启动它尽可能通用,而不是硬编码我的应用程序的名称。

我需要添加哪些代码对以允许某些应用程序与我的文件/文件夹选择器程序之间的连接Intentsintent-filters

4

1 回答 1

1

我需要添加代码以允许某些应用程序和我的文件/文件夹选择器程序之间的连接的意图和意图过滤器对是什么?

我知道这里没有标准,除了ACTION_GET_CONTENTMIME*/*类型。

在您的五次项目符号尝试中,只有第四次被认为是普遍有效的:

  • 前两种可能认不出来的使用方案
  • 第三个是绑定到一些谷歌ContentProvider
  • 第五个是格式错误,ACTION_GET_CONTENT是按MIME类型而不是容器来选择

欢迎您尝试带头定义该领域的某些标准,或者按照 Aleksander 的建议并使用库在您的应用程序中提供此功能,而不是依赖外部应用程序。

于 2013-09-24T22:15:52.177 回答