将文件管理器中的文件路径视为Android意图

时间:2011-04-04 11:37:44

标签: java android android-intent

您知道,我已经检查了Android开发人员文档和OpenIntents,但没有找到答案。不过,我可能很容易错过了一些东西。

是否存在在文件管理器中查看文件路径的意图操作? Android文件管理器应用程序之间似乎没有什么标准化方式。执行intent时我不希望出现任何异常行为,如果没有安装文件管理器,它应该什么都不做,而不是尝试以其他方式操作文件路径。

我最初的研究表明这可能目前不可能,但我想我会看到是否有人知道更好。他们通常会这样做。

编辑澄清:我不是在寻找文件选择器。我已经有了一个文件路径,想要打开它以便在文件管理器/文件浏览器中浏览,当且仅当设备上安装了一个。

1 个答案:

答案 0 :(得分:10)

我有以下......

        Intent intent = new Intent();
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("text/csv");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, getText(R.string.select_file)),1);

然后onActivityResult()

        currFileURI = data.getData();
        filename_editText.setText(currFileURI.getPath());

更新:解决方案:

public static boolean isUriAvailable(Context context, String uri) {
    Intent test = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
    return context.getPackageManager().resolveActivity(test, 0) != null;
}