美文网首页
Android开发 打开各种类型文件、预览不同类型文件

Android开发 打开各种类型文件、预览不同类型文件

作者: 石头1314 | 来源:发表于2017-10-24 14:37 被阅读95次

    在Android开发中,经过需要用到调用外部应用来打开一个文件,

    而且,该文件可能是图片、视频、音频、CAD文件、压缩包文件等等……

    /** 
     * 打开一个文件 
     *  
     * @param filePath 
     *            文件的绝对路径 
     */  
    private void openFile(final String filePath)  {
            String ext = filePath.substring(filePath.lastIndexOf('.')).toLowerCase(Locale.US);
            try {
                MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
                String temp = ext.substring(1);
                String mime = mimeTypeMap.getMimeTypeFromExtension(temp);
                mime = TextUtils.isEmpty(mime) ? "" : mime;
                Intent intent = new Intent();
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setAction(android.content.Intent.ACTION_VIEW);
                File file = new File(filePath);
                intent.setDataAndType(Uri.fromFile(file), mime);
                startActivity(intent);
            } catch (Exception e) {
                e.printStackTrace();
                Toast.makeText(getApplicationContext(), "无法打开后缀名为." + ext + "的文件!",   Toast.LENGTH_LONG).show();  
            }  
    }  
    

    上面用到MimeTypeMap 类,用于获取MIME映射信息,这个方法简单实用,不用自己去写一大堆MIME映射了……
    如果mimeTypeMap.getMimeTypeFromExtension(temp)获取的值为null时,设置为""可以让用户自己选择手机已安装的程序进行打开文件

    相关文章

      网友评论

          本文标题:Android开发 打开各种类型文件、预览不同类型文件

          本文链接:https://www.haomeiwen.com/subject/guotpxtx.html