1.建立匹配表

    //建立一个文件类型与文件后缀名的匹配表private static final String[][] MATCH_ARRAY={//{后缀名,    文件类型}{".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"},{".z",        "application/x-compress"},{".zip",    "application/zip"},{"",        "*/*"}};

2.根据路径打开文件

    /*** 根据路径打开文件* @param context 上下文* @param path 文件路径*/public static void openFileByPath(Context context,String path) {if(context==null||path==null)return;Intent intent = new Intent();intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//设置intent的Action属性intent.setAction(Intent.ACTION_VIEW);//文件的类型String type = "";for(int i =0;i<MATCH_ARRAY.length;i++){//判断文件的格式if(path.toString().contains(MATCH_ARRAY[i][0].toString())){type = MATCH_ARRAY[i][1];break;}}try {//设置intent的data和Type属性intent.setDataAndType(Uri.fromFile(new File(path)), type);//跳转context.startActivity(intent);} catch (Exception e) { //当系统没有携带文件打开软件,提示ShowToastUtil.showToast(context,"无法打开该格式文件!");e.printStackTrace();}}




3.结果

①当系统打不开该格式文件

②当系统应用可以打开文件

注:下载的文件是一个PDF格式的文件

Android调用系统应用打开各种类型文件相关推荐

  1. android调用系统相册打开图片不显示,【报Bug】打开相册,不显示图片,选中图片后,app会崩溃...

    产品分类: uniapp/App PC开发环境操作系统: Mac PC开发环境操作系统版本号: 10 HBuilderX类型: 正式 HBuilderX版本号: 2.8.8 手机系统: Android ...

  2. 使用致远OA系统,打开Excel类型文件,提示office编辑程序未安装

    今早上使用公司OA系统时,怎么都不能打开Excel类型的文章,word类型的则可以正常打开,如下图: 经检查发现是才安装的福昕PDF搞的鬼,具体原因未知,将其卸载后就能正常使用.

  3. Android 调用系统API打开闪光灯

    我们用的android手机现在基本上都支持闪光灯了,实现一个闪光灯的功能不是很难,就是其中会碰到一些奇葩的问题.我就碰到了一些问题,因为国产ROM的一些??,导致我们的闪光灯总是不能正常的打开.作为一 ...

  4. android安装自动打开网页,Android调用系统自带浏览器打开网页的实现方法

    Android调用系统自带浏览器打开网页的实现方法 在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接.只需要传入一个uri,可以是链接地址. 启动android默认浏览器 在A ...

  5. Android 调用系统分享图片、视频等文件

    目录 序言 打开文件管理器 分享操作 文件Uri转化为String 序言 一般都会集成Umeng的分享,基本的分享都可以满足,但是要想分享文件,比如pdf.doc.ppt等类型时,umeng就不能满足 ...

  6. Android调用系统的拍照,打开相册功能

    Android调用系统的拍照,打开相册功能 1 添加权限: <!-- 往SDCard写入数据权限 --> <uses-permission android:name="an ...

  7. win10无法打开服务器文件类型,win10系统无法打开此类型的文件(.exe)的解决方法...

    很多小伙伴都遇到过win10系统无法打开此类型的文件(.exe)的困惑吧,一些朋友看过网上零散的win10系统无法打开此类型的文件(.exe)的处理方法,并没有完完全全明白win10系统无法打开此类型 ...

  8. Android 调用系统裁剪,适配11和12及手机

    前言:发现Android 调用系统裁剪时,在各Android 版本出现各种问题,踩了一堆坑,做一下总结,免得以后忘记 后面会有完整裁剪代码 1,一加手机报错 intent.putExtra(" ...

  9. android 调用系统文件管理器

    今天,简单讲讲android如何调用系统的文件管理器获取目录下的文件资源. 这几天,还是因为搬家的事,导致自己状态很差.和领导说想要辞职,领导说还是先适应一下在说.所以还是坚持了. 这个其实也很简单, ...

最新文章

  1. 基于LVS-DR集群的持久链接实验
  2. Calc3: Multiple Integrals
  3. JetBrains遭美国调查,称其是被大规模黑客攻击的源头?
  4. Dijkstra 最短路径算法详解 无向图
  5. P1314,jzoj3028-聪明的质监员【二分答案,前缀和】
  6. 【CodeForces - 266C】Below the Diagonal (递归,子问题,贪心模拟)
  7. 计算机里的东西太多,电脑里的东西太多,怎么样清理一下啊
  8. 一起学习C语言:初步进入编程世界(一)
  9. Spring源码分析之ProxyFactoryBean方式实现Aop功能的分析
  10. IPSEC是如何穿越NAT的
  11. OpenJudge计算概论-字符串最大跨距
  12. 1024Studio官网
  13. 8.4 向量应用(二)——空间直线
  14. 《C++ Concurrencyin Action》第10章--多线程程序的测试和调试
  15. High Version Count Issues(SQL高Version Count) (文档 ID 296377.1)
  16. 动态渲染element组件el-table表头项+自定义el-table列表项
  17. try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,是在return前还是后
  18. 【转】从一个App跳转到另一APP
  19. vue图片压缩不失真_vue图片压缩(不失真)
  20. LDO investigation

热门文章

  1. Python 实现生命游戏
  2. Symbian OS C++程序员编码诀窍
  3. 酒店系统主服务器是什么意思,酒店主服务器硬件配置
  4. 微信公众号开发者原生态的servlet
  5. python压缩_Python札记 -- 文件压缩
  6. Drawboard PDF常见问题以及使用技巧(持续更新)
  7. 【标题】视频标注软件DARKLABEL V2.4 主页中英对照图
  8. mpaaS的kylin框架-项目结构(脚手架)
  9. python 的基础 学习第十天函数的初始
  10. 什么意思中文_中文十级考题,请解释这四句话是什么意思!