用intent打开各种类型文件

public class MyIntent {
//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获取一个用于打开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获取一个用于打开文本文件的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获取一个用于打开音频文件的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获取一个用于打开视频文件的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获取一个用于打开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获取一个用于打开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获取一个用于打开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获取一个用于打开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;
}
}

时间: 2024-10-25 03:56:19

用intent打开各种类型文件的相关文章

Android打开不同类型文件

转自http://www.cnblogs.com/hibraincol/archive/2010/09/16/1828502.html 正好做一个下载预览功能,要打开文件,看到这篇相当不错的文章就转过来了.其中openFile方法可以自己改一下通过Intent.createChooser()方式来选择打开程序. 背景介绍: MIME:全称Multipurpose Internet Mail Extensions,多功能Internet 邮件扩充服务.它是一种多用途网际邮件扩充协议,在1992年最

Intent MIME 打开各种类型的文件

使用 public class MainActivity extends ListActivity {     public static final String path = Environment.getExternalStorageDirectory().getPath() + File.separator;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCre

android intent打开各种文件的方法

android intent打开各种文件的方法 1./**  * 检测是否安装了某个软件  *   * @param pkgName "com.bill99.kuaishua"  * @param mContext  * @return  */ public static boolean isPkgInstalled(String pkgName, Activity mContext) {  PackageInfo packageInfo = null;  try {   packag

C#项目打开/保存文件夹/指定类型文件,获取路径(转)

C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325/ 1.打开文件路径:                  OpenFileDialog ofd = new OpenFileDialog();                //new一个方法            ofd.Filter = "(*.et;*.xls;*.xlsx)|*.et;*.x

android 利用隐式Intent打开图片

实现功能 ??点击"查看图片"时能够跳出提示,选择系统图库打开还是自己编写的应用打开,并且对于下载好的图片也有效. 1.我将 qiaoba.jpg 放在 res/drawable 目录下,通过按钮设置打开图片,在按钮的监听设置如下: findViewById(R.id.btn_openImage).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //要是自定义

如何在Qt资源文件中包含exe等各种类型文件?

操作系统:Windows 10 X64 企业版 Qt: 5.8.0 QtCreater: 4.2.1 刚刚开始学习Qt,不断遇到困难和挑战,前几天在各个QQ群里询问如何在Qt的资源文件中包含和释放exe可执行文件,结果没有谁给我一个准确的答复,包括问写过图书的选手!!我现在非常鄙视写书的选手,是高傲还是为了面子,对于我的问题根本就不回答!!!不仅仅是一个写书选手这样,很多个!!!我相信很多作者都是乐于帮助别人,极少数人才这个德性!!!! Qt做为开发了这么多年的跨平台GUI开发解决方案,我相信这

Ubuntu下用命令行快速打开各类型文件(转)

nautilus /media/pm/文档/book/system/必读nautilus /media/pm/文档/book/android/ndk 内核/framerwork/android waitReadxdg-open /media/pm/文档/book/system/必读/深入理解linux内核.pdf ubuntu 下一个神奇的命令--以窗口形式打开某个文件夹 今天意外的发现的一个命令 nautilus /media/ 会以窗口的形式打开某个目录,以后写脚本可以用到. Ubuntu下

Codeigniter 调试上传不支持的类型文件

打开 codeigniter\system\libraries\Upload.php 文件 找到执行方法 $this->_file_mime_type($_file); 注释后替换成 $this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die(); //abin add. 然后控制台查看输出的 mime类型是什么 再打开 codeigniter\application\config\mimes.php

asp.net word ecxel类型文件在线预览

首先得引用COM: Microsoft Excel 10 Object Library Microsoft Word 10 Object Library 或者是 10以上的类库 我现在用的是:资源下载: http://download.csdn.net/detail/panfuy/3247641 或者附件 Microsoft Excel 10 Object Library Microsoft Word 10 Object Library 代码如下: C#代码   using System; us