用android中的默认应用程序打开文件

时间:2015-05-08 18:59:18

标签: java android android-intent

我在android中制作文件浏览器。所以我想要点击任何文件而不是目录我想得到一个可以打开它的应用程序的建议,如果没有应用程序那么然后显示一个dailog。我尝试了一些解决方案,但没有任何效果,所以,现在,我只是显示文件不是吐司中的目录

这是代码的一部分:

protected void onListItemClick(ListView l, View v, int position, long id) {
    String filename = (String) getListAdapter().getItem(position);
    if (path.endsWith(File.separator)) {
        filename = path + filename;
    } else {
        filename = path + File.separator + filename;
    }
    if (new File(filename).isDirectory()) {
        Intent intent = new Intent(this, ListFileActivity.class);
        intent.putExtra("path", filename);
        startActivity(intent);
    } else {
        Toast.makeText(this, filename + " is not a directory", Toast.LENGTH_LONG).show();
    }
}

1 个答案:

答案 0 :(得分:3)

Android有一些内置When you pass 'this' as an argument可帮助您打开或查看特定文件,但为此您需要知道要处理的文件类型。

假设您有可以使用的文档类型分类的文件类型,

具有特定ACTION_OPEN_DOCUMENT(Android 4.4或更高版本)的

MIME_TYPE

或如果您要处理某些媒体文件(音频/视频)

你可以使用,

ACTION_VIEW

要识别特定文件的MIME_TYPE,您可以使用功能

guessContentTypeFromName (String url) Intent Action Type

getMimeTypeFromExtension(String extension) Link