Android:使用已安装的文件管理器之一打开目录路径

时间:2018-10-21 12:26:44

标签: android android-intent kotlin

我想要的

我的应用程序的功能之一是下载文件。 我想让用户有机会打开包含下载文件的文件夹,以便他可以浏览它们并在他喜欢的任何应用程序中打开它们。 因此,我有一个按钮,它将在已安装的文件管理器之一中打开此目录的路径。

我有什么

到目前为止,我一直在指这种解决方案: Android: How to open a specific folder via Intent and show its content in a file browser?

private fun openDirectoryInFileManager(directoryPath: String) {
    val intent = Intent(Intent.ACTION_VIEW)
    val uri = Uri.parse(directoryPath)
    intent.setDataAndType(uri, "*/*")
    startActivity(intent)
}

此代码将打开一个弹出窗口,提示所有已安装的应用程序,以打开该Uri。 Screenshot of the pop-up window

到目前为止,我已经能够选择应用程序Total Commander来打开Uri,然后我就直接进入了所选目录。 但是,由于Total Commander的最新更新已经不可能了。 其他所有已安装的文件管理器似乎无法打开路径。无论传递到哪个路径,他们都只是打开“下载”目录。

是否有更好的解决方案在Android中打开任何目录路径? 还是有人知道一个应用程序,该应用程序支持打开一个手工目录路径?

1 个答案:

答案 0 :(得分:0)

  

应在已安装的文件管理器之一中打开此目录的路径

Android设备不需要具有文件管理器应用程序,更不用说支持与您的第三方应用程序集成的应用程序了。

  

到目前为止,我一直在使用以下解决方案:Android:如何通过Intent打开特定文件夹并在文件浏览器中显示其内容?

这些答案大多不正确。无需任何Android设备具有支持任何Intent结构的应用。

  

是否有更好的解决方案在Android中打开任何目录路径?

从来没有可靠的解决方案来启动第三方文件管理器。

最好的解决方案是让您拥有自己的UI来列出目录内容,然后使用ACTION_VIEW允许用户尝试查看特定的内容。 a variety of libraries可以帮助您实现这一目标。

  

或者没有人知道一个应用程序,该应用程序支持打开一个手工目录路径?

让我们推荐或找到书籍,工具,软件库,教程或其他非现场资源的问题对于Stack Overflow来说是不重要的,因为它们往往会吸引有见识的答案和垃圾邮件。