1.定义文件类型。

public class MIME {public final static String[][] MIME_MapTable = {{".3gp",    "video/3gpp"},      {".apk",    "application/vnd.android.package-archive"},      {".asf",    "video/x-ms-asf"},      {".avi",    "video/x-msvideo"},      {".bin",    "application/octet-stream"},      {".bmp",      "image/bmp"},      {".c",        "text/plain"},      {".class",    "application/octet-stream"},      {".conf",    "text/plain"},      {".cpp",    "text/plain"},      {".doc",    "application/msword"},      {".exe",    "application/octet-stream"},      {".gif",    "image/gif"},      {".gtar",    "application/x-gtar"},      {".gz",        "application/x-gzip"},      {".h",        "text/plain"},      {".htm",    "text/html"},      {".html",    "text/html"},      {".jar",    "application/java-archive"},      {".java",    "text/plain"},      {".jpeg",    "image/jpeg"},      {".jpg",    "image/jpeg"},      {".js",        "application/x-javascript"},      {".log",    "text/plain"},      {".m3u",    "audio/x-mpegurl"},      {".m4a",    "audio/mp4a-latm"},      {".m4b",    "audio/mp4a-latm"},      {".m4p",    "audio/mp4a-latm"},      {".m4u",    "video/vnd.mpegurl"},      {".m4v",    "video/x-m4v"},          {".mov",    "video/quicktime"},      {".mp2",    "audio/x-mpeg"},      {".mp3",    "audio/x-mpeg"},      {".mp4",    "video/mp4"},      {".mpc",    "application/vnd.mpohun.certificate"},              {".mpe",    "video/mpeg"},          {".mpeg",    "video/mpeg"},          {".mpg",    "video/mpeg"},          {".mpg4",    "video/mp4"},          {".mpga",    "audio/mpeg"},      {".msg",    "application/vnd.ms-outlook"},      {".ogg",    "audio/ogg"},      {".pdf",    "application/pdf"},      {".png",    "image/png"},      {".pps",    "application/vnd.ms-powerpoint"},      {".ppt",    "application/vnd.ms-powerpoint"},      {".prop",    "text/plain"},      {".rar",    "application/x-rar-compressed"},      {".rc",        "text/plain"},      {".rmvb",    "audio/x-pn-realaudio"},      {".rtf",    "application/rtf"},      {".sh",        "text/plain"},      {".tar",    "application/x-tar"},          {".tgz",    "application/x-compressed"},       {".txt",    "text/plain"},      {".wav",    "audio/x-wav"},      {".wma",    "audio/x-ms-wma"},      {".wmv",    "audio/x-ms-wmv"},      {".wps",    "application/vnd.ms-works"},      {".xml",    "text/plain"},      {".xls",    "application/vnd.ms-excel"},    {".z",        "application/x-compress"},      {".zip",    "application/zip"},      {"",        "*/*"}      };}

2.获取需要打开的文件的类型。

private String getMIMEType(File file) {String type = "*/*";String filename = file.getName();int dotindex = filename.lastIndexOf(".");if (dotindex < 0) {return type;}String end = filename.substring(dotindex, filename.length()).toLowerCase();if (end == "") {return type;}for (int i = 0; i < MIME.MIME_MapTable.length; i++) {if (end.equals(MIME.MIME_MapTable[i][0])) {type = MIME.MIME_MapTable[i][1];}}return type;}

3.打开文件。

File mOpenFile = new File(MainActivity.mPathList.get(mCurOperationFileIndex));Intent intentopen = new Intent();intentopen.setAction(Intent.ACTION_VIEW);// intentopen.addCategory("android.intent.category.DEFAULT");intentopen.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);String type = getMIMEType(mOpenFile);intentopen.setDataAndType(Uri.fromFile(mOpenFile), type);try {startActivity(intentopen);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}

更多相关文章

  1. 【Android】volley网络框架的文件下载
  2. Android(安卓)SDK 目录和作用的分析详解
  3. Unity3D Android播放视频
  4. Android(安卓)到ARM versatile PB板移植主要步骤
  5. Android(安卓)sdk 接入时遇到的错误解决方案
  6. 在Android中把内容写到XML文件中
  7. gradle android基本配置详解
  8. android XmlSerializer 组拼xml
  9. NPM 和webpack 的基础使用

随机推荐

  1. 怀恋Button 样式 怕再次忘记
  2. 软键盘的相关设置
  3. android ListView实现圆角实例教程一
  4. Android SQLite数据库操作
  5. android的liveview装载数据
  6. Android 将从网络获取的数据缓存到私有文
  7. Qt on Android(安卓)核心编程
  8. Android市场或存在“解体”危险
  9. TableRow 背景问题以及修改对话框标题高
  10. android > WebView > 加载完整网页