android打开各种文件Intent
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; } }