博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件预览工具类
阅读量:5045 次
发布时间:2019-06-12

本文共 5354 字,大约阅读时间需要 17 分钟。

 

import android.content.ActivityNotFoundException;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.widget.Toast;import com.xuehu365.xuehu.R;import com.xuehu365.xuehu.ui.widget.AlertDialog;import java.io.File;/** * Created by David on 2016/8/17. */public class FileOpenIntentHelp {    //android获取一个用于打开文件的intent    public static Intent getFileIntent(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, "*/*");        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获取一个用于打开文本文件的intent    public static Intent getTextFileIntent(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, "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获取一个用于打开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;    }    /**     * 使用intent打开文件     *     * @param fileFullName     * @param fileExt     * @param context     */    public static void openFile(String fileFullName, String fileExt, Context context) {        try {            if (FileMIMEHelp.checkEndsWithInStringArray(fileFullName, context.getResources().getStringArray(R.array.fileEndingPdf))) {                Intent fileIntent = FileOpenIntentHelp.getPdfFileIntent(fileFullName);                context.startActivity(fileIntent);            } else if (FileMIMEHelp.checkEndsWithInStringArray(fileFullName, context.getResources().getStringArray(R.array.fileEndingText))) {                Intent fileIntent = FileOpenIntentHelp.getTextFileIntent(fileFullName);                context.startActivity(fileIntent);            } else if (FileMIMEHelp.checkEndsWithInStringArray(fileFullName, context.getResources().getStringArray(R.array.fileEndingPPT))) {                Intent fileIntent = FileOpenIntentHelp.getPptFileIntent(fileFullName);                context.startActivity(fileIntent);            } else if (FileMIMEHelp.checkEndsWithInStringArray(fileFullName, context.getResources().getStringArray(R.array.fileEndingWord))) {                Intent fileIntent = FileOpenIntentHelp.getWordFileIntent(fileFullName);                context.startActivity(fileIntent);            } else if (FileMIMEHelp.checkEndsWithInStringArray(fileFullName, context.getResources().getStringArray(R.array.fileEndingExcel))) {                Intent fileIntent = FileOpenIntentHelp.getExcelFileIntent(fileFullName);                context.startActivity(fileIntent);            } else {                Intent fileIntent = FileOpenIntentHelp.getFileIntent(fileFullName);                context.startActivity(fileIntent);            }        } catch (NullPointerException e) {            new AlertDialog(context).builder().setTitle("文件损坏").setMsg("文件不存在或文件已损坏!").setPositiveButton("好", null).show();        } catch (ActivityNotFoundException e) {            Toast.makeText(context, "找不到合适的应用打开该文件。请安装合适应用", Toast.LENGTH_SHORT).show();        } catch (Exception e) {            Toast.makeText(context, "打开文件发生错误", Toast.LENGTH_SHORT).show();        }    }    /**     * 文件是否存在     *     * @param fileFullName     * @return     */    public static boolean isFileExist(String fileFullName) {        boolean b = false;        try {            File file = new File(fileFullName);            if (file.exists()) {                b = true;            }        } catch (Exception e) {            b = false;        }        return b;    }}

 

转载于:https://www.cnblogs.com/anni-qianqian/p/6349798.html

你可能感兴趣的文章
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了...
查看>>
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
查看>>
如何一个pdf文件拆分为若干个pdf文件
查看>>
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>
数据库连接
查看>>
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
极客前端部分题目收集【索引】
查看>>
第四天 selenium的安装及使用
查看>>