android读取word文档的方法:一,第三方应用打开
2017-12-18 17:52
507 查看
这种方式是最简单的方式,局限于你手机上必须提前已经安装过打开word的相关应用。
其余格式的文件DataAndType值如下:
String path = Environment.getExternalStorageDirectory().getPath().concat("/").concat("myDoc").concat("/").concat("a.doc"); File docFile = new File(path); Intent in = new Intent("android.intent.action.VIEW"); in.addCategory("android.intent.category.DEFAULT"); Uri data; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // "net.csdn.blog.ruancoder.fileprovider"即是在清单文件中配置的authorities data = FileProvider.getUriForFile(mContext, "com.sailing.fileprovider", docFile); // 给目标应用一个临时授权 in.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); } else { data = Uri.fromFile(docFile); } in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); in.setDataAndType(data, "application/msword"); startActivity(in);
该内容涉及两个重要的知识点:
1.判断你使用的androidsdk是否大于23,大于23时候是不能直接读取本地的文件的,文件需要使用fileprovider,URI需要特殊处理。
Uri data; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // "net.csdn.blog.ruancoder.fileprovider"即是在清单文件中配置的authorities data = FileProvider.getUriForFile(mContext, "com.sailing.fileprovider", docFile); // 给目标应用一个临时授权 in.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); } else { data = Uri.fromFile(docFile); }
2.打开doc文档需要使用setDataAndType方法设置对应的值:”application/msword”;
in.setDataAndType(data, "application/msword");
其余格式的文件DataAndType值如下:
private 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"}, {".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"}, {".xls", "application/vnd.ms-excel"}, {".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, {".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"}, {".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"}, {".prop", "text/plain"}, {".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"}, {".z", "application/x-compress"}, {".zip", "application/x-zip-compressed"}, {"", "*/*"} };
相关文章推荐
- word无法读取此文档,文档可能已损坏 请尝试下列方法:*打开并修复文件*用文本恢复转换器打开文件
- Android端 通过第三方应用打开文档的方式
- Android 打开第三方应用的方法
- Android开发中使用Intent打开第三方应用及验证可用性的方法详解
- android和JS交互,相互调用方法传值。不使用第三方实现原生加载word、ppt、pdf文档
- 安卓开发调用第三方应用(如WPS)打开文档(比如Word),如何设置文件只读,不能被修改?
- 打开新建word文档就会出现页眉页脚的解决方法
- asp.net(c#)下读取word文档的方法小结
- 打开WORD文档时提示“word无法启动转换器mswrd632 wpc”的解决方法
- 打开word文档时出现严重错误解决方法
- asp.net c#读取word 文档的方法
- asp.net 读取word 文档的方法
- 展讯6820 2.3.5平台上 第三方应用在usr和eng版本上区别的方法 Android
- 在安装有DOORS的机器上打开Word文档出现Macro警告时的解决方法
- “word无法读取文档,文档可能损坏!”的解决方法
- office2003无法打开word文档,一打开就显示错误的解决方法
- 在Word 2007中打开多文档方法小结
- 打开WORD文档时提示“word无法启动转换器mswrd632 wpc”的解决方法
- 在Word 2007中打开多文档方法
- 在Word 2007中打开多文档方法小结