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;

   }

}

更多相关文章

  1. Android(安卓)获取设备的物理尺寸
  2. Android(安卓)SD卡,文件,文件夹工具
  3. android获取系统时间
  4. Android长按imageview把图片保存到本地
  5. android获取屏幕分辨率
  6. Android(安卓)Studio之——问题集合及解决方法(对号入座)
  7. Android权限
  8. Android获取屏幕宽高的方法
  9. Android获取系统的内存使用率

随机推荐

  1. Android的Bluetooth Profile与UUID
  2. android抽屉实现不同之处
  3. Android下使用Socket连接网络电脑
  4. android系统权限关机重启
  5. Android中ExpandableListView的使用
  6. CoordinatorLayout使用自定义Behavior实
  7. NestedScrollView中webview被点击,NestedS
  8. Android应用程序结构介绍
  9. [Android(安卓)Pro] PackageManager#getP
  10. android 4.0 for windows 7 开发环境搭建