您知道,我已经检查了Android开发人员文档和OpenIntents,但没有找到答案。不过,我可能很容易错过了一些东西。
是否存在在文件管理器中查看文件路径的意图操作? Android文件管理器应用程序之间似乎没有什么标准化方式。执行intent时我不希望出现任何异常行为,如果没有安装文件管理器,它应该什么都不做,而不是尝试以其他方式操作文件路径。
我最初的研究表明这可能目前不可能,但我想我会看到是否有人知道更好。他们通常会这样做。
编辑澄清:我不是在寻找文件选择器。我已经有了一个文件路径,想要打开它以便在文件管理器/文件浏览器中浏览,当且仅当设备上安装了一个。
答案 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;
}