安卓调用手机上的应用打开不同类型的文件
2017-04-21 17:49
489 查看
网上看别人写了一大堆代码,都太麻烦了,在jdk的api中找到了如下两个方法,实现获取文件类型,获取类型后调用系统的intent来打开文件。
代码原理:
功能详见代码:
代码原理:
public interface FileNameMap { /** * Returns the MIME type (such as "text/plain") for the given filename, or null. */ public String getContentTypeFor(String filename); }
/** * Return the MIME type for the given extension. * @param extension A file extension without the leading '.' * @return The MIME type for the given extension or null iff there is none. */ public String getMimeTypeFromExtension(String extension) { return MimeUtils.guessMimeTypeFromExtension(extension); }
功能详见代码:
try { FileNameMap fileNameMap = URLConnection.getFileNameMap(); String path = "/mnt/test/TB_DRAWING.xls"; File file = new File(path); String type = fileNameMap.getContentTypeFor(path); // 解决部分三星手机无法获取到类型的问题 if (TextUtils.isEmpty(type)) { String extension = MimeTypeMap.getFileExtensionFromUrl(path); type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); } if(TextUtils.isEmpty(type)){ Toast.makeText(context, "无法正确读取文件类型,请尝试在文件夹中直接打开!", Toast.LENGTH_SHORT).show(); return; } Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Uri uri = Uri.fromFile(file); intent.setDataAndType(uri, type); startActivity(intent); } catch (Exception e) { Toast.makeText(context, "手机上未安装能打开该文件的程序!", Toast.LENGTH_SHORT).show(); }
相关文章推荐
- 安卓调用应用打开文件
- Android调用系统应用打开各种类型文件
- 安卓开发调用第三方应用(如WPS)打开文档(比如Word),如何设置文件只读,不能被修改?
- Web调用安卓,苹果手机摄像头,本地图片和文件
- 调用其他应用打开文件的方法
- Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用
- 根据不同文件类型,调用已安装的程…
- 使用Intent调用系统其它程序打开本地各种类型的文件
- ios中通过UIDocumentInteractionControllers调用第三方应用打开本地压缩文件
- 超简单快速实现附件上传(各种格式文件)和下载显示(调用浏览器下载后选择可以打开的应用查看)
- Android打开不同类型文件
- Web调用安卓,苹果手机摄像头,本地图片和文件
- 根据判断PC浏览器类型和手机屏幕像素自动调用不同CSS的代码
- 判断是否安装了能够打开某种类型文件的应用
- Web调用安卓,苹果手机摄像头,本地图片和文件
- Android开发之调用外部应用打开指定文件
- j2SE1.6 Desktop调用桌面应用----浏览器打开链接,记事本打开编辑文件,打印文件,发送邮件
- android 应用组件[通用 Intent---打开特定类型的文件] 十二
- iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
- Web调用安卓,苹果手机摄像头,本地图片和文件