转载于:http://blog.csdn.net/weich_java/article/details/7002829

public static Intent openFile(String filePath){  File file = new File(filePath);  if(!file.exists()) return null;  /* 取得扩展名 */  String end=file.getName().substring(file.getName().lastIndexOf(".") + 1,file.getName().length()).toLowerCase();   /* 依扩展名的类型决定MimeType */  if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||  end.equals("xmf")||end.equals("ogg")||end.equals("wav")){  return getAudioFileIntent(filePath);  }else if(end.equals("3gp")||end.equals("mp4")){  return getAudioFileIntent(filePath);  }else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||  end.equals("jpeg")||end.equals("bmp")){  return getImageFileIntent(filePath);  }else if(end.equals("apk")){  return getApkFileIntent(filePath);  }else if(end.equals("ppt")){  return getPptFileIntent(filePath);  }else if(end.equals("xls")){  return getExcelFileIntent(filePath);  }else if(end.equals("doc")){  return getWordFileIntent(filePath);  }else if(end.equals("pdf")){  return getPdfFileIntent(filePath);  }else if(end.equals("chm")){  return getChmFileIntent(filePath);  }else if(end.equals("txt")){  return getTextFileIntent(filePath,false);  }else{  return getAllIntent(filePath);  }  }  //Android获取一个用于打开APK文件的intent  public static Intent getAllIntent( String param ) {  Intent intent = new Intent();    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    intent.setAction(android.content.Intent.ACTION_VIEW);    Uri uri = Uri.fromFile(new File(param ));  intent.setDataAndType(uri,"*/*");   return intent;  }  //Android获取一个用于打开APK文件的intent  public static Intent getApkFileIntent( String param ) {  Intent intent = new Intent();    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    intent.setAction(android.content.Intent.ACTION_VIEW);    Uri uri = Uri.fromFile(new File(param ));  intent.setDataAndType(uri,"application/vnd.android.package-archive");   return intent;  }  //Android获取一个用于打开VIDEO文件的intent  public static Intent getVideoFileIntent( String param ) {  Intent intent = new Intent("android.intent.action.VIEW");  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  intent.putExtra("oneshot", 0);  intent.putExtra("configchange", 0);  Uri uri = Uri.fromFile(new File(param ));  intent.setDataAndType(uri, "video/*");  return intent;  }  //Android获取一个用于打开AUDIO文件的intent  public static Intent getAudioFileIntent( String param ){  Intent intent = new Intent("android.intent.action.VIEW");  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  intent.putExtra("oneshot", 0);  intent.putExtra("configchange", 0);  Uri uri = Uri.fromFile(new File(param ));  intent.setDataAndType(uri, "audio/*");  return intent;  }  //Android获取一个用于打开Html文件的intent     public static Intent getHtmlFileIntent( String param ){  Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();  Intent intent = new Intent("android.intent.action.VIEW");  intent.setDataAndType(uri, "text/html");  return intent;  }  //Android获取一个用于打开图片文件的intent  public static Intent getImageFileIntent( String param ) {  Intent intent = new Intent("android.intent.action.VIEW");  intent.addCategory("android.intent.category.DEFAULT");  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  Uri uri = Uri.fromFile(new File(param ));  intent.setDataAndType(uri, "image/*");  return intent;  }  //Android获取一个用于打开PPT文件的intent     public static Intent getPptFileIntent( String param ){    Intent intent = new Intent("android.intent.action.VIEW");     intent.addCategory("android.intent.category.DEFAULT");     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     Uri uri = Uri.fromFile(new File(param ));     intent.setDataAndType(uri, "application/vnd.ms-powerpoint");     return intent;     }     //Android获取一个用于打开Excel文件的intent     public static Intent getExcelFileIntent( String param ){    Intent intent = new Intent("android.intent.action.VIEW");     intent.addCategory("android.intent.category.DEFAULT");     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     Uri uri = Uri.fromFile(new File(param ));     intent.setDataAndType(uri, "application/vnd.ms-excel");     return intent;     }     //Android获取一个用于打开Word文件的intent     public static Intent getWordFileIntent( String param ){    Intent intent = new Intent("android.intent.action.VIEW");     intent.addCategory("android.intent.category.DEFAULT");     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     Uri uri = Uri.fromFile(new File(param ));     intent.setDataAndType(uri, "application/msword");     return intent;     }     //Android获取一个用于打开CHM文件的intent     public static Intent getChmFileIntent( String param ){     Intent intent = new Intent("android.intent.action.VIEW");     intent.addCategory("android.intent.category.DEFAULT");     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     Uri uri = Uri.fromFile(new File(param ));     intent.setDataAndType(uri, "application/x-chm");     return intent;     }     //Android获取一个用于打开文本文件的intent     public static Intent getTextFileIntent( String param, boolean paramBoolean){     Intent intent = new Intent("android.intent.action.VIEW");     intent.addCategory("android.intent.category.DEFAULT");     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     if (paramBoolean){     Uri uri1 = Uri.parse(param );     intent.setDataAndType(uri1, "text/plain");     }else{     Uri uri2 = Uri.fromFile(new File(param ));     intent.setDataAndType(uri2, "text/plain");     }     return intent;     }    //Android获取一个用于打开PDF文件的intent     public static Intent getPdfFileIntent( String param ){     Intent intent = new Intent("android.intent.action.VIEW");     intent.addCategory("android.intent.category.DEFAULT");     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     Uri uri = Uri.fromFile(new File(param ));     intent.setDataAndType(uri, "application/pdf");     return intent;     }  

Android 文件打开方法相关推荐

  1. axure9 html文件使用ie打开图片无法显示_win7系统html文件如何打开 win7系统html文件打开方法【介绍】...

    html其实是超文本标记语言,现在很多网页都是html的格式,而所谓的html文件是一种超文本文件,其中超文本可以使图片或者音乐的非文字元素,使用起来十分广泛,不过最近有有位win7系统用户不知道ht ...

  2. ofd文件怎么打开?分享三个ofd文件打开方法

    最近有一种新的文档格式闯入我们的视线,那就是--odf.可能首次接触或者跟我一样不太了解这个格式的小伙伴们,很多都不知道ofd文件怎么打开吧. 先带大家认识一下什么是ofd,ofd于我们常用的另一种格 ...

  3. php用www打开,php文件如何打开 php文件打开方法

    PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用. 而php文件怎么打开呢?让我们一起来看看吧. php文件格式怎么打开 ...

  4. html中bak是什么文件怎么打开,bak文件怎么打开?小编教你bak文件打开方法

    小编有个小伙伴有喜欢整理文件的习惯,在整理文件时发现有一些文件格式为bak的文件,小伙伴比较好奇不知道这是啥,找小小编来问了,下面小编给大家也分享一下bak文件是啥以及怎么打开bak文件.有兴趣的同学 ...

  5. matlab打开mat文件,MAT文件打开方法汇总及其他操作

    MAT文件 是MATLAB使用的一种特有的二进制数据文件.MAT文件可以包含一个或者多个MATLAB 变量.MATLAB通常采用MAT文件把工作空间的变量存储在磁盘里,在MAT文件中不仅保存各变量数据 ...

  6. mpp 项目管理文件 打开方法

    Microsoft Project(或MSP)是由微软开发销售的项目管理软件程序,旨在帮助个人跟踪,组织或维护项目.MPP是Microsoft Project的文件扩展名,要读写.mpp文件需要安装相 ...

  7. Android 文件打开方式

    Android打开文件,具体还是看代码吧,代码最能说明问题. AndroidFileUtil.java public static Intent openFile(String filePath){F ...

  8. PDPS软件:PSZ格式文件的保存与打开方法

    目录 概述 PSZ格式文件保存方法 PSZ格式文件打开方法 本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注! 概述 之前有很多小伙伴问过,PDPS软件保存的 ...

  9. 以下不是python文件读写方法的是-python 文件读写 - 刘江的python教程

    文件读写 阅读: 18142 评论:4 到目前为止,我们做的一切操作,都是在内存里进行的.如果一旦断电或发生意外,那么你的工作成果将瞬间消失.你有没有一种人生缺少了点什么的感觉?是的,我们还缺少将数据 ...

最新文章

  1. 纯java分布式内存数据库_最新Java岗面试清单:分布式+Dubbo+线程+Redis+数据库+JVM+并发...
  2. oracle中sql语句排序,Oracle SQL排序方式与case语句
  3. SQL索引及表的页的逻辑顺序与物理顺序
  4. 【ACM ICPC 2011–2012, Northeastern European Regional Contest】Interactive Permutation Guessing【交互题】
  5. SqlAlchemy操作(一)
  6. 《黑客防线》《黑客X档案》《非安全-黑客手册》电子刊下载(最全版)
  7. Emoji's World, 一起实现Emoji
  8. 时间复杂度和空间复杂度详解
  9. python 密码输入显示星号_[145]python实现控制台密码星号输入
  10. muduo网络库:05---线程同步精要之(线程安全的Singleton实现)
  11. 2018.06.06 第二天面试人在囧途跑错了地方
  12. 2022.11.22 英语背诵
  13. JAVA 网络聊天程序设计与实现(附关键代码) 可群聊私聊发送图片
  14. Arduino + Lcd1602 显示当前环境温度
  15. python中输入一个数字x判断0~x间能被5除的个数_Python的面试题
  16. 前端页面HTML表格生成EXCEL下载
  17. vsm java_vsm向量空间模型java实现(源码)
  18. 国家统计局2020年统计用区划代码全量采集
  19. Mysql发生Incorrect string value: ‘\xE5\x90\x8D\xE7\xA7\xB0‘异常
  20. CSS实现渐变流动边框线

热门文章

  1. 用这套偷懒笔刷5分钟一副国潮插画海报,轻松玩转海报设计
  2. VMWare虚拟机网络连接设置
  3. Solidworks渲染技巧如何不显示边线--显示样式设定
  4. WRAP验厂辅导,发现WRAP不能容忍的问题,WRAP将取消已颁发的证书
  5. 创新型金融产品“续期宝”——互联网平台建设系列...
  6. Date类型与String类型互相转换
  7. c++,2个vector排序,一个vector跟着另一个vector变化
  8. Node.js服务器端开发
  9. JAVA毕业设计辅导员班级量化管理系统计算机源码+lw文档+系统+调试部署+数据库
  10. 模电1.2 半导体二极管