博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android打开各种文件Intent
阅读量:4560 次
发布时间:2019-06-08

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

package com.exi.oa.util;import java.io.File;import android.content.Intent;import android.net.Uri;public class OpenFileUtil {        //获取一个用于打开HTML文件的intent    public static Intent getHtmlFileIntent(String filePath){        Uri uri = Uri.parse(filePath).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(filePath).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.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        Uri uri = Uri.fromFile(new File(filePath));        intent.setDataAndType(uri, "image/*");        return intent;    }        //获取一个用于打开PDF文件的intent    public static Intent getPdfFileIntent(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/pdf");        return intent;    }        //获取一个用于打开文本文件的intent    public static Intent getTextFileIntent(String filePath, 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(filePath);            intent.setDataAndType(uri1, "text/plain");        }else{            Uri uri2 = Uri.fromFile(new File(filePath));            intent.setDataAndType(uri2, "text/plain");         }        return intent;    }        //获取一个用于打开音频文件的intent    public static Intent getAudioFileIntent(String filePath){        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(filePath));        intent.setDataAndType(uri, "audio/*");        return intent;    }        //获取一个用于打开视频文件的intent    public static Intent getVideoFileIntent(String filePath){        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(filePath));        intent.setDataAndType(uri, "video/*");        return intent;    }        //获取一个用于打开CHM文件的intent    public static Intent getChmFileIntent(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/x-chm");        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;    }        //获取一个用于打开Excel文件的intent    public static Intent getExcelFileIntent(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/vnd.ms-excel");        return intent;    }        //获取一个用于打开PPT文件的intent    public static Intent getPptFileIntent(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/vnd.ms-powerpoint");        return intent;    }        //指定用WPS打开    public static Intent getWPSFiletIntent(String filePath){        Intent intent = new Intent();         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        intent.setAction(Intent.ACTION_VIEW);        intent.setClassName("cn.wps.moffice", "cn.wps.moffice.documentmanager.PreStartActivity");        Uri uri = Uri.fromFile(new File(filePath));        intent.setData(uri);        return intent;    }}

 

转载于:https://www.cnblogs.com/Yang2/p/3441008.html

你可能感兴趣的文章
[BZOJ2160]拉拉队排练
查看>>
三、css 和 js 的装载与执行
查看>>
ES之值类型以及堆和栈
查看>>
Web 3.0移动大时代,谁才是赢家?
查看>>
安装tomcat出现的问题
查看>>
linux环境下apache2与tomcat6的负载配置
查看>>
java---day01
查看>>
MonoDevelop添加NuGet支持
查看>>
HTML生成PDF(c#)
查看>>
mysql查询含有指定字段的所有表
查看>>
C++实现成绩管理模拟系统
查看>>
Oracle 10g dbms_rowid 包源码
查看>>
数学图形之地形曲面
查看>>
奇怪吸引子---Qi
查看>>
#在蓝懿学习iOS的日子#Day6
查看>>
Fruits【水果】
查看>>
编辑器
查看>>
SAP供应商和客户的创建
查看>>
django--form相关
查看>>
srs部署到ubuntu 18.04 server
查看>>