`
836811384
  • 浏览: 550734 次
文章分类
社区版块
存档分类
最新评论

android Intent打开各种类型文件

 
阅读更多

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.net.Uri.Builder;

import java.io.File;

import android.content.Intent;

//自定义android Intent类,

//可用于获取打开以下文件的intent

//PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO

示例:

//这个不行,可能是因为PDF.apk程序没有权限访问其它APK里的asset资源文件,又或者是路径写错?

//Intent it = getPdfFileIntent("file:///android_asset/helphelp.pdf");

//下面这些都OK

//Intent it = getHtmlFileIntent("/mnt/sdcard/tutorial.html");//SD卡主目录

//Intent it = getHtmlFileIntent("/sdcard/tutorial.html");//SD卡主目录,这样也可以

Intent it = getHtmlFileIntent("/system/etc/tutorial.html");//系统内部的etc目录

//Intent it = getPdfFileIntent("/system/etc/helphelp.pdf");

//Intent it = getWordFileIntent("/system/etc/help.doc");

//Intent it = getExcelFileIntent("/mnt/sdcard/Book1.xls")

//Intent it = getPptFileIntent("/mnt/sdcard/download/Android_PPT.ppt");//SD卡的download目录下

//Intent it = getVideoFileIntent("/mnt/sdcard/ice.avi");

//Intent it = getAudioFileIntent("/mnt/sdcard/ren.mp3");

//Intent it = getImageFileIntent("/mnt/sdcard/images/001041580.jpg");

//Intent it = getTextFileIntent("/mnt/sdcard/hello.txt",false);

startActivity( it );

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;

}

}

分享到:
评论

相关推荐

    android用于打开各种文件的intent

    android用于打开各种文件的intent

    Android7.0 Intent打开文件管理器 获取文件真实路径

    Android7.0 Intent打开文件管理器 获取文件真实路径。虽然网上很多demo,但是没有一个能够兼容所有Android机的,去网上学习了然后自己亲测过手机分别有Android7.0/6.0/4.3个版本。

    android用于打开各种文件的intent.pdf

    android用于打开各种文件的intent.pdf

    android用于打开各种文件的intent.docx

    android用于打开各种文件的intent.docx

    android各种文件的intent

    //android获取一个用于打开HTML文件的intent public static Intent getHtmlFileIntent( String param ) { Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme...

    android 调用WPS 打开文件

    android 系统调用WPS打开word excel ppt pdf 等,将代码类移入的你项目,有对6.0 7.0及以上系统做文件读取方法

    Android实现打开各种文件的intent方法小结

    主要介绍了Android实现打开各种文件的intent方法,结合实例形式总结分析了Android针对HTML、图片文件、pdf文件、文本文件、音频文件、视频文件等的intent打开方法,需要的朋友可以参考下

    Android 打开本地pdf文件

    Android 中打开pdf文件也是一种很常见的场景,本文主要介绍了Android打开本地pdf文件的方法。具有很好的参考价值。下面跟着小编一起来看下吧

    Android中调用系统所装的软件打开文件

    * 打开文件 * @param file */ private void openFile(File file){ Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //设置intent的Action属性 intent.setAction...

    Android程序间Intent跳转分析

    跳转分析器是一个开发者小工具,用来分析Android应用程序之间跳转,例如常用的各种分享操作、或者是选择本机图片操作、利用第三方应用打开文件操作、从应用内跳转到应用市场等。附件为源码。

    Android编程开发之打开文件的Intent及使用方法

    本文实例讲述了Android编程开发之打开文件的Intent及使用方法。分享给大家供大家参考,具体如下: 在写文件管理系统时会用到各种打开不同格式的文件的需求,由于Android系统默认内置了一些可以打开的系统应用,但...

    Android FileMan文件扫描管理记录使用次数.rar

    一个Android文件管理器APP源码,类似于360手机助手的功能,可以记录文件使用次数,... 本SD卡扫描程序还自定义了android Intent类,可用于获取打开以下文件的intent:PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO。

    一个Android文件下载Download程序示例

    一个Android文件下载Download程序示例,文件会下载至local端,远程安装程序(请输入URL),取得远程文件,取得URL,创建连接,InputStream 下载文件,创建临时文件,取得站存盘案路径,将文件写入暂存盘,在手机上打开文件的...

    Android利用Intent.ACTION_SEND进行分享

    其实在系统的文件管理器中,这应该是我们常用的功能(包括文件的打开Intent.ACTION_VIEW)。 下面列出一个简单的分享方式 Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); ...

    Android开发实现文件关联方法介绍

    Android开发实现文件关联方法,做一个项目的时候,需要点击文件打开我们自己的app。首先讲一下点击普通文件打开app的方法,只需要三行代码,在app启动活动里加一个过滤器。 <intent> <category android:name=...

Global site tag (gtag.js) - Google Analytics