Android意向基于文件类型

| 我正在尝试为Android开发文件夹浏览器。 文件夹可以具有任何类型的文件,即doc文件,txt文件,mp3,avi,apk文件等。 如何基于用户单击的文件启动特定的应用程序... 我的意思是我如何构造基于意图的文件类型... 谢谢 普拉珊斯     
已邀请:
只需设置意图的类型,例如:
intent.setType(\"video/mpeg\");
。 编辑:使用MimeTypeMap动态获取文件的MIME类型。     
创建一个活动。您将在其中找到文件扩展名(无论是mp3还是dic等)。基于扩展名,请调用此活动的另一个活动。 谢谢 迪帕克     
我找到一个。也许这可以帮助您:
Intent intent= new Intent();
intent.setAction(Intent.ACTION_VIEW);

File file = new File(filePath);

MimeTypeMap mime = MimeTypeMap.getSingleton();
String ext = file.getName().substring(file.getName().indexOf(\".\")+1);
String type = mime.getMimeTypeFromExtension(ext);

intent.setDataAndType(Uri.fromFile(file), type);
    
可能是这样...因为我正在我的代码上尝试...
//differentiate file type
    String filename = o.getName();
    String filenameArray[] = filename.split(\"\\\\.\");
    String extension = filenameArray[filenameArray.length-1];

    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);

    if (extension.contains(\"png\") || extension.contains(\"gif\") || extension.contains(\"jpg\") 
            || extension.contains(\"jpeg\") || extension.contains(\"bmp\"))
    {
        intent.setDataAndType(Uri.parse(\"file://\" + o.getPath()), \"image/*\");
    }
    if (extension.contains(\"txt\") || extension.contains(\"csv\") || extension.contains(\"xml\"))
    {
        intent.setDataAndType(Uri.parse(\"file://\" + o.getPath()), \"text/*\");
    }
    if (extension.contains(\"pdf\"))
    {
        intent.setDataAndType(Uri.parse(\"file://\" + o.getPath()), \"application/pdf\");
    }
    if (extension.contains(\"doc\") || extension.contains(\"docx\"))
    {
        intent.setDataAndType(Uri.parse(\"file://\" + o.getPath()), \"application/msword\");
    }
    if (extension.contains(\"mp3\") || extension.contains(\"wav\") || extension.contains(\"oog\") 
            || extension.contains(\"mid\") || extension.contains(\"amr\") || extension.contains(\"midi\"))
    {
        intent.setDataAndType(Uri.parse(\"file://\" + o.getPath()), \"audio/*\");
    }
    if (extension.contains(\"mpeg\") || extension.contains(\"3gp\"))
    {
        intent.setDataAndType(Uri.parse(\"file://\" + o.getPath()), \"video/*\");
    }
我仍在寻找短代码,但我希望这段代码可以帮助您...     

要回复问题请先登录注册