android 打开文本
来源:互联网 发布:windows激活密匙在哪里 编辑:程序博客网 时间:2024/06/13 17:00
一、OpenFiles类
package com.caojing.about;import java.io.File;import android.content.Intent;import android.net.Uri;public class OpenFiles {// android获取一个用于打开HTML文件的intentpublic static Intent getHtmlFileIntent(File file) {Uri uri = Uri.parse(file.toString()).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(file.toString()).build();Intent intent = new Intent("android.intent.action.VIEW");intent.setDataAndType(uri, "text/html");return intent;}// android获取一个用于打开图片文件的intentpublic static Intent getImageFileIntent(File file) {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(file);intent.setDataAndType(uri, "image/*");return intent;}// android获取一个用于打开PDF文件的intentpublic static Intent getPdfFileIntent(File file) {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(file);intent.setDataAndType(uri, "application/pdf");return intent;}// android获取一个用于打开文本文件的intentpublic static Intent getTextFileIntent(File file) {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(file);intent.setDataAndType(uri, "text/plain");return intent;}// android获取一个用于打开音频文件的intentpublic static Intent getAudioFileIntent(File file) {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(file);intent.setDataAndType(uri, "audio/*");return intent;}// android获取一个用于打开视频文件的intentpublic static Intent getVideoFileIntent(File file) {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(file);intent.setDataAndType(uri, "video/*");return intent;}// android获取一个用于打开CHM文件的intentpublic static Intent getChmFileIntent(File file) {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(file);intent.setDataAndType(uri, "application/x-chm");return intent;}// android获取一个用于打开Word文件的intentpublic static Intent getWordFileIntent(File file) {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(file);intent.setDataAndType(uri, "application/msword");return intent;}// android获取一个用于打开Excel文件的intentpublic static Intent getExcelFileIntent(File file) {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(file);intent.setDataAndType(uri, "application/vnd.ms-excel");return intent;}// android获取一个用于打开PPT文件的intentpublic static Intent getPPTFileIntent(File file) {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(file);intent.setDataAndType(uri, "application/vnd.ms-powerpoint");return intent;}// android获取一个用于打开apk文件的intentpublic static Intent getApkFileIntent(File file) {Intent intent = new Intent();intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setAction(android.content.Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");return intent;}}
二、OpenFileHelper类
package com.caojing.about;import java.io.File;import com.caojing.mysharedemo.R;import android.content.ActivityNotFoundException;import android.content.Context;import android.content.Intent;import android.util.Log;import android.widget.Toast;public class OpenFileHelper{private Context context;public OpenFileHelper(Context context) {this.context = context;}public void openFile(File currentPath){Log.d("OpenFileHelper",currentPath.toString());if (currentPath != null && currentPath.isFile()) {String fileName = currentPath.toString();Intent intent;try{if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingImage))) {intent = OpenFiles.getImageFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingWebText))) {intent = OpenFiles.getHtmlFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingPackage))) {intent = OpenFiles.getApkFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingAudio))) {intent = OpenFiles.getAudioFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingVideo))) {intent = OpenFiles.getVideoFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingText))) {intent = OpenFiles.getTextFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingPdf))) {intent = OpenFiles.getPdfFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingWord))) {intent = OpenFiles.getWordFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingExcel))) {intent = OpenFiles.getExcelFileIntent(currentPath);context.startActivity(intent);} else if (checkEndsWithInStringArray(fileName, context.getResources().getStringArray(R.array.fileEndingPPT))) {intent = OpenFiles.getPPTFileIntent(currentPath);context.startActivity(intent);} else {showMessage("无法打开,请安装相应的软件!");}}catch(ActivityNotFoundException e){showMessage("无法打开,请安装相应的软件!");}} else {showMessage("对不起,这不是文件!");}}private void showMessage(String msg){Toast.makeText(context, msg, Toast.LENGTH_LONG).show();}//检查文件类型是否在fileEndings.xml列表中private boolean checkEndsWithInStringArray(String checkItsEnd,String[] fileEndings) {for (String aEnd : fileEndings) {if (checkItsEnd.endsWith(aEnd))return true;}return false;}}
三、arrays.xml文件
<?xml version="1.0" encoding="utf-8"?><resources> <array name="country_codes"> <item>-</item> <item>AR</item> <item>AU</item> <item>BR</item> <item>BG</item> <item>CA</item> <item>CN</item> <item>CZ</item> <item>DE</item> <item>DK</item> <item>ES</item> <item>FI</item> <item>FR</item> <item>GB</item> <item>GR</item> <item>HU</item> <item>ID</item> <item>IT</item> <item>JP</item> <item>KR</item> <item>NL</item> <item>PL</item> <item>PT</item> <item>RU</item> <item>SE</item> <item>SK</item> <item>SI</item> <item>TR</item> <item>TW</item> <item>US</item> </array> <string-array name="array_checkbox"> <item>草约</item> <item>确认</item> <item>执行生效</item> <item>发货完成</item> <item>结算完成</item> <item>合同完成</item> </string-array> <string-array name="array_checkbox_fzjdh"> <item>合同录入</item> <item>合同审核</item> <item>合同生效</item> <item>合同生产</item> <item>合同准发完成</item> <item>合同发货完毕</item> <item>合同结算完成</item> <item>合同变更</item> <item>合同完成</item> </string-array> <string-array name="bankroll_array_checkbox"> <item>草约</item> <item>合同新增</item> <item>合同已收款</item> <item>合同生效</item> <item>发货完成</item> <item>结算完成</item> </string-array> <array name="fileEndingImage"> <item>.png</item> <item>.gif</item> <item>.jpg</item> <item>.jpeg</item> <item>.bmp</item> <item>.tif</item> <item>.tiff</item> </array> <array name="fileEndingAudio"> <item>.mp3</item> <item>.wav</item> <item>.ogg</item> <item>.midi</item> </array> <array name="fileEndingVideo"> <item>.mp4</item> <item>.rmvb</item> <item>.avi</item> <item>.flv</item> </array> <array name="fileEndingPackage"> <item>.jar</item> <item>.zip</item> <item>.rar</item> <item>.gz</item> <item>.apk</item> <item>.img</item> </array> <array name="fileEndingWebText"> <item>.htm</item> <item>.html</item> <item>.php</item> <item>.jsp</item> </array> <array name="fileEndingText"> <item>.txt</item> <item>.java</item> <item>.c</item> <item>.cpp</item> <item>.py</item> <item>.xml</item> <item>.json</item> <item>.log</item> </array> <array name="fileEndingWord"> <item>.doc</item> <item>.docx</item> </array> <array name="fileEndingExcel"> <item>.xls</item> <item>.xlsx</item> </array> <array name="fileEndingPPT"> <item>.ppt</item> <item>.pptx</item> </array> <array name="fileEndingPdf"> <item>.pdf</item> </array> <array name="gbfwType"> <item>产品</item> <item>物流</item> <item>财务</item> <item>系统</item> <item>其他</item> <item>异议</item> </array> <array name="gbfwStatus"> <item>待处理</item> <item>处理中</item> <item>完成</item> </array> <array name="region"> <item>总部</item> <item>东北区域</item> <item>华北区域</item> <item>华东地区</item> <item>华中区域</item> <item>西部区域</item> <item>南方区域</item> <item>专营公司</item> </array></resources>
0 0
- android 打开文本
- Android使用自带的程序打开图片或者文本
- vs 打开文本乱码
- jsp下载文本而不是打开
- 双击记事本自动打开文本
- 超大文本打开软件UITraEdit
- C# 打开文本文件,剪切文本,复制文本,粘贴文本方法
- C# 打开文本文件,剪切文本,复制文本,粘贴文本方法
- android文本
- android webview页面中的文件(apk,mp3或mp4,以及文本等)链接,选择被打开还是直接下载
- 打开文本二进制与文本模式的区别
- fopen:文本和二进制方式打开 ZZ
- Linux gedit 打开文本 出现乱码情况
- ubuntu打开文本文档乱码解决方法
- C载入txt文本打开文件配置文件
- sublime打开中文文本乱码问题
- 文本编辑器添加右键打开方式
- android 文本走马灯代码
- test
- windows7 key 和 windows server 2012 R2 激活key
- 在程序中打开另一个程序
- 【线段树】 HDOJ 4417 Super Mario
- 网络编程
- android 打开文本
- xamarin.ios 设置用户默认信息
- LPC1114功耗问题笔记(研究更新)
- 用js获取url各部分参数
- ubuntu14.04 u盘安装教程
- 比树莓派配置好接地气的香蕉派上手初体验
- 如何检测浏览器是否支持HTML5
- 去掉手机 Update Devices Infomation
- WorldCount程序分析