利用系统中已经安装的软件选择文件的打开方式
2017-11-09 00:00
519 查看
// 通过指定的路径,打开文件
// Android获取一个用于打开文本文件的intent
// Android获取一个用于打开PDF文件的intent
// Android获取一个用于打开CHM文件的intent
// Android获取一个用于打开PPT文件的intent
// Android获取一个用于打开APK文件的intent
// Android获取一个用于打开APK文件的intent
// Android获取一个用于打开VIDEO文件的intent
// Android获取一个用于打开AUDIO文件的intent
// Android获取一个用于打开Html文件的intent
// 图片的Intent
// word文档的Intent
// Android获取一个用于打开Excel文件的intent
【Master】zelo,616701261@qq.com;
【运营】运维艄公,897221533@qq.com;
【产品设计】流浪猫,364994559@qq.com;
【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【java】首席工程师MR_W,feixue300@qq.com;
【测试】土镜问道,847071279@qq.com;
【数据】喜乐多,42151960@qq.com;
【安全】保密,你懂的。
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("jpg") || end.equals("gif") || end.equals("png") || end.equals("jpeg") || end.equals("bmp")) { return getImageFileIntent(filePath); } else if (end.equals("doc") || end.equals("docx")) { return getWordFileIntent(filePath); } else if (end.equals("xls") || end.equals("xlsx")) { return getExcelFileIntent(filePath); } else 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("apk")) { return getApkFileIntent(filePath); } else if (end.equals("ppt")) { return getPptFileIntent(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获取一个用于打开文本文件的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获取一个用于打开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获取一个用于打开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获取一个用于打开APK文件的intent
public 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文件的intent
public 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文件的intent
public 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文件的intent
public 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; }
// 图片的Intent
public static Intent getImageFileIntent(String filePath) { 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(filePath)); intent.setDataAndType(uri, "image/*"); return intent; }
// word文档的Intent
public static Intent getWordFileIntent(String filePath) { 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(filePath)); intent.setDataAndType(uri, "application/msword"); 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; }
知行团队,做最好的移动办公
【总监】十二春秋之,3483099@qq.com;【Master】zelo,616701261@qq.com;
【运营】运维艄公,897221533@qq.com;
【产品设计】流浪猫,364994559@qq.com;
【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【java】首席工程师MR_W,feixue300@qq.com;
【测试】土镜问道,847071279@qq.com;
【数据】喜乐多,42151960@qq.com;
【安全】保密,你懂的。
相关文章推荐
- android 利用系统软件打开文件
- 调用Android系统安装的软件打开文件,程序停止运行
- [Unity&重装系统]下载以及安装Visual Studio编程软件用来打开.cs文件
- 搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、
- 调用Android系统安装的软件打开文件,程序停止运行
- Android 打开word,excel,ppt,txt,html等文件有用户选择用何种手机上面已经安装有的工具打开
- 在MAC上安装软件,可能不是来自官方的软件,这时需要对来源进行选择,可以使用以下方式打开
- 利用系统镜像文件安装.Net框架的方式
- Excel文件无法导入,错误: 它已经被别的用户以独占方式打开,或没有查看数据的权限。
- 系统无法打开指定的设备或文件&Internal Error 2755,110 安装错误
- vb 利用API 打开文件浏览窗口 选择返回目录
- Windows7安装包中打开WIM文件并提取系统文件
- Java通过程序利用软件打开文件
- 系统安装时文件系统的选择
- 实现文件右键“打开方式”菜单功能(查看系统这种功能对比实现)
- 实现文件右键“打开方式”菜单功能(查看系统这种功能对比实现)(读注册表的方法)
- Linux在启动时利用NFS方式挂在根文件系统时无法初始化console的问题
- 利用替换SAM文件的方式破解XP登陆密码,解决无法登陆系统的问题
- 调用系统控件,打开选择文件或路径的对话框
- 打开操作,以及如果没有默认格式,弹出打开方式让用户自己选择何种程序打开文件