Android打开文件,具体还是看代码吧,代码最能说明问题。

AndroidFileUtil.java

public static Intent openFile(String filePath){File file = new File(filePath);if(!file.exists()) return null;/* 取得扩展名 */String end=file.getName().substring(file.getName().lastIndexOf(".") + 1,file.getName().length()).toLowerCase(); /* 依扩展名的类型决定MimeType */if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||end.equals("xmf")||end.equals("ogg")||end.equals("wav")){return getAudioFileIntent(filePath);}else if(end.equals("3gp")||end.equals("mp4")){return getAudioFileIntent(filePath);}else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||end.equals("jpeg")||end.equals("bmp")){return getImageFileIntent(filePath);}else if(end.equals("apk")){return getApkFileIntent(filePath);}else if(end.equals("ppt")){return getPptFileIntent(filePath);}else if(end.equals("xls")){return getExcelFileIntent(filePath);}else if(end.equals("doc")){return getWordFileIntent(filePath);}else if(end.equals("pdf")){return getPdfFileIntent(filePath);}else if(end.equals("chm")){return getChmFileIntent(filePath);}else if(end.equals("txt")){return getTextFileIntent(filePath,false);}else{return getAllIntent(filePath);}}//Android获取一个用于打开APK文件的intentpublic static Intent getAllIntent( String param ) {Intent intent = new Intent();  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  intent.setAction(android.content.Intent.ACTION_VIEW);  Uri uri = Uri.fromFile(new File(param ));intent.setDataAndType(uri,"*/*"); return intent;}//Android获取一个用于打开APK文件的intentpublic static Intent getApkFileIntent( String param ) {Intent intent = new Intent();  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  intent.setAction(android.content.Intent.ACTION_VIEW);  Uri uri = Uri.fromFile(new File(param ));intent.setDataAndType(uri,"application/vnd.android.package-archive"); return intent;}//Android获取一个用于打开VIDEO文件的intentpublic static Intent getVideoFileIntent( String param ) {Intent intent = new Intent("android.intent.action.VIEW");intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);intent.putExtra("oneshot", 0);intent.putExtra("configchange", 0);Uri uri = Uri.fromFile(new File(param ));intent.setDataAndType(uri, "video/*");return intent;}//Android获取一个用于打开AUDIO文件的intentpublic static Intent getAudioFileIntent( String param ){Intent intent = new Intent("android.intent.action.VIEW");intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);intent.putExtra("oneshot", 0);intent.putExtra("configchange", 0);Uri uri = Uri.fromFile(new File(param ));intent.setDataAndType(uri, "audio/*");return intent;}//Android获取一个用于打开Html文件的intent   public static Intent getHtmlFileIntent( String param ){Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();Intent intent = new Intent("android.intent.action.VIEW");intent.setDataAndType(uri, "text/html");return intent;}//Android获取一个用于打开图片文件的intentpublic static Intent getImageFileIntent( String param ) {Intent intent = new Intent("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri = Uri.fromFile(new File(param ));intent.setDataAndType(uri, "image/*");return intent;}//Android获取一个用于打开PPT文件的intent   public static Intent getPptFileIntent( String param ){  Intent intent = new Intent("android.intent.action.VIEW");   intent.addCategory("android.intent.category.DEFAULT");   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   Uri uri = Uri.fromFile(new File(param ));   intent.setDataAndType(uri, "application/vnd.ms-powerpoint");   return intent;   }   //Android获取一个用于打开Excel文件的intent   public static Intent getExcelFileIntent( String param ){  Intent intent = new Intent("android.intent.action.VIEW");   intent.addCategory("android.intent.category.DEFAULT");   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   Uri uri = Uri.fromFile(new File(param ));   intent.setDataAndType(uri, "application/vnd.ms-excel");   return intent;   }   //Android获取一个用于打开Word文件的intent   public static Intent getWordFileIntent( String param ){  Intent intent = new Intent("android.intent.action.VIEW");   intent.addCategory("android.intent.category.DEFAULT");   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   Uri uri = Uri.fromFile(new File(param ));   intent.setDataAndType(uri, "application/msword");   return intent;   }   //Android获取一个用于打开CHM文件的intent   public static Intent getChmFileIntent( String param ){   Intent intent = new Intent("android.intent.action.VIEW");   intent.addCategory("android.intent.category.DEFAULT");   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   Uri uri = Uri.fromFile(new File(param ));   intent.setDataAndType(uri, "application/x-chm");   return intent;   }   //Android获取一个用于打开文本文件的intent   public static Intent getTextFileIntent( String param, boolean paramBoolean){   Intent intent = new Intent("android.intent.action.VIEW");   intent.addCategory("android.intent.category.DEFAULT");   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   if (paramBoolean){   Uri uri1 = Uri.parse(param );   intent.setDataAndType(uri1, "text/plain");   }else{   Uri uri2 = Uri.fromFile(new File(param ));   intent.setDataAndType(uri2, "text/plain");   }   return intent;   }  //Android获取一个用于打开PDF文件的intent   public static Intent getPdfFileIntent( String param ){   Intent intent = new Intent("android.intent.action.VIEW");   intent.addCategory("android.intent.category.DEFAULT");   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   Uri uri = Uri.fromFile(new File(param ));   intent.setDataAndType(uri, "application/pdf");   return intent;   }

Android 文件打开方式相关推荐

  1. Unity与Android交互 选择文件打开方式

    Unity游戏开发移动端 ,麻烦的就是与Android交互,现在就教如何在unity中 传入文件路径调用android选择打开方式来查看一个文件: 首先创建一个android项目 进入Android ...

  2. jnlp文件打开方式(jnlp文件打开方式Java)

    jnlp这个文件打开方式不小心改成网页打开了怎么也回不?inpu 你这个文件的扩展名不对啊!扩展名只有3位,你怎么跑出来4位了,是jnp还是什么,从这个文件上,点鼠标右键,有个打开方式,选一个你想打开 ...

  3. python文件打开方式详解

    转载自https://blog.csdn.net/ztf312/article/details/47259805 第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二 ...

  4. python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...

    文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...

  5. python中image.open函数怎么用_详解Python中open()函数指定文件打开方式的用法

    文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...

  6. win7电脑上的文件打开方式选错了怎么办

    使用电脑的过程中总会遇到各种各样的问题,就有win7用户跟小编反应说自己一不小心选错了文件的打开方式,导致该文件再也打不开了,win7电脑上的文件打开方式选错了怎么办呢?那针对这个问题,小编就给大家讲 ...

  7. Hbuilder 左侧项目栏文件打开方式(单击?双击?) - 设置篇

    Hbuilder 左侧项目栏文件打开方式(单击?双击?) - 设置篇 设置办法 · 截图演示 · 如下: 打开编辑器,工具栏找到"工具": 打开"工具"–> ...

  8. Windows技巧:右键文件打开方式,该文件没有与之关联来执行该操作

    Windows技巧:右键文件打开方式,该文件没有与之关联来执行该操作 正文 参考链接 正文 报错如下: 搜索关键词: 文件打开方式 该文件没有与之关联来执行该操作 原因: 右键选择默认文件打开方式相关 ...

  9. 计算机文件右击怎么显示打开方式,修复鼠标右键点击文件打开方式在win10中没有反应...

    当我们在电脑中需要打开文件夹的不同设置的选项的时候是可以直接在鼠标的右键中进行设置打开的,选择文件的不同的打开的时候有小伙伴在win10电脑中点击右键发现没有反应的情况遇到这个问题我们怎么恢复右键的使 ...

最新文章

  1. R语言dplyr包使用bind_rows函数纵向合并两个dataframe(行生长)、使用bind_cols函数横向合并两个dataframe(列生长)
  2. [分享]发布自己C#开发的ReSharper2.0 for VS2003/2005 注册机
  3. 500强公司面试的经典正确与错误回答对比!
  4. 内存管理中的几种地址类型
  5. 网易云信携手SNH48 GROUP,打造在线追星新体验
  6. 编译优化 | LLVM代码生成技术详解及在数据库中的应用
  7. Python之深入解析优秀的时间格式转换工具Delorean
  8. python人工智能——机器学习——数据的降维
  9. 边缘计算精华问答 | 火爆的边缘计算为何兴起?
  10. zabbix计算型监控项函数last_zabbix 自定义key类型之计算(Calculated items)-阿里云开发者社区...
  11. Typora 博文标题自动编号
  12. 贝叶斯球(Bayes ball)
  13. 连续竞价java_Java 方法method
  14. 按位与、或、异或等运算方法(转)
  15. 黑马程序员传智播客 正则表达式学习笔记 匹配单个字符多个字符
  16. fckeditor for php 下载,FCKeditor(HTML在线编辑器)下载_FCKeditor(HTML在线编辑器)官方下载-太平洋下载中心...
  17. Windows10从 微软商店 安装 linux(ubuntu)
  18. matlab中怎么求矩阵的转置
  19. 算法导论适合c语言吗,看《算法导论》需要多好的数学基础?
  20. hdu 5053(水题)

热门文章

  1. 人人极客专访 | 我和我们的操作系统
  2. 中科院计算所培训中心 ---2014年三季度课程安排
  3. 从“什么是程序化购买”到“程序化购买+”
  4. C# 递归的应用 TreeView递归绑定数据
  5. 画图工具如何裁剪图片
  6. 第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛(部分题解)
  7. [学习笔记] 全角字符与半角字符的区别
  8. 2017计算机及应用自考试题及答案,2018年考研管理类联考试题及参考答案
  9. Swing版《房屋租赁合同》
  10. Gigaphoton新型KrF光源“G60K”量产出货