Android 打开本地文件

临文乍了了,彻卷兀若无。这篇文章主要讲述Android 打开本地文件相关的知识,希望能为你提供帮助。
android 打开本地的文件,目前来说,其实很常见。而且现在有手机版的office了。查看office的全家桶就更加方便。
首先要知道的是,Android 打开本地文件是根据类型打开的,也就是根据文件的 MIME 类型来确定
如果不知道是什么类型,那就是 : */*
类型匹配表:

private static final String[][] MIME_MapTable={ //{后缀名,MIME类型} {".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/xml"}, {".xml","text/plain"}, {".z","application/x-compress"}, {".zip","application/zip"}, {"","*/*"} };

获取文件的类型。
private String getMIMEType(File file) {String type="*/*"; String fName = file.getName(); //获取后缀名前的分隔符"."在fName中的位置。 int dotIndex = fName.lastIndexOf("."); if(dotIndex < 0) return type; /* 获取文件的后缀名 */ String fileType = fName.substring(dotIndex,fName.length()).toLowerCase(); if(fileType == null || "".equals(fileType)) return type; //在MIME和文件类型的匹配表中找到对应的MIME类型。 for(int i=0; i< MIME_MapTable.length; i++){ if(fileType.equals(MIME_MapTable[i][0])) type = MIME_MapTable[i][1]; } return type; }

打开文件
Intent intent = new Intent(); File file = new File(FileDirectory); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //设置标记 intent.setAction(Intent.ACTION_VIEW); //动作,查看 intent.setDataAndType(Uri.fromFile(file), getMIMEType(file)); //设置类型 context.startActivity(intent);


【Android 打开本地文件】 

    推荐阅读