【Android】打开/读取文件的方法
来源:互联网 发布:蒙文软件下载手机软件 编辑:程序博客网 时间:2024/06/07 16:54
public class IntentBuilder { 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 getMusicFileIntent(filePath); } else if (end.equals("3gp") || end.equals("mp4")) { return getVideoFileIntent(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 null; } } // Android获取一个用于打开所有类型文件的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获取一个用于打开 音频文件的intent public static Intent getMusicFileIntent(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)); // 通过file文件去获得content的uri 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获取一个用于打开图片文件的intent public 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; }}
0 0
- 【Android】打开/读取文件的方法
- Android下一种打开并读取指定路径文件内容的方法
- Windwos下读取被独占打开文件的方法
- Window下打开并读取文件的方法
- Window下打开并读取文件的方法
- 分享:Perl打开与读取文件的方法
- Qt 打开并读取文件内容的方法
- android打开文件方法
- android打开文件方法
- Android打开文件方法
- Android 文件打开方法
- android中打开各种文件的方法
- android 打开各种文件的方法
- android通过intent打开文件的方法
- android intent打开各种文件的方法
- android intent打开各种文件的方法
- android intent打开各种文件的方法
- Android----Intent打开各种文件的方法
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
- 睡眠排序算法
- linux sftp远程连接命令
- 第18节--多元线性回归(上)
- tomcat部署
- 【Android】打开/读取文件的方法
- zookeeper基础搭建
- 【OpenCV】EmguCV颜色识别案例
- OKhttp源码解析---拦截器之CacheInterceptor
- 微信小程序开发入门
- 第十周--项目3-利用二叉树遍历思想解决问题
- 51nod-1278 相离的圆
- 日常训练 20161102 隔离区
- [LeetCode]Search a 2D Matrix