利用系统中已经安装的软件选择文件的打开方式

// 经过指定的路径,打开文件html

public static Intent openFile(String filePath) {
  File file = new File(filePath);
  if (!file.exists())
   return null;
  /* 取得扩展名 */
  String end = file
    .getName()
    .substring(file.getName().lastIndexOf(".") + 1,
      file.getName().length()).toLowerCase();
  /* 依扩展名的类型决定MimeType */
  if (end.equals("jpg") || end.equals("gif") || end.equals("png")
    || end.equals("jpeg") || end.equals("bmp")) {
   return getImageFileIntent(filePath);
  } else if (end.equals("doc") || end.equals("docx")) {
   return getWordFileIntent(filePath);
  } else if (end.equals("xls") || end.equals("xlsx")) {
   return getExcelFileIntent(filePath);
  } else if (end.equals("m4a") || end.equals("mp3") || end.equals("mid")
    || end.equals("xmf") || end.equals("ogg") || end.equals("wav")) {
   return getAudioFileIntent(filePath);
  } else if (end.equals("3gp") || end.equals("mp4")) {
   return getAudioFileIntent(filePath);
  } else if (end.equals("apk")) {
   return getApkFileIntent(filePath);
  } else if (end.equals("ppt")) {
   return getPptFileIntent(filePath);
  } else if (end.equals("pdf")) {
   return getPdfFileIntent(filePath);
  } else if (end.equals("chm")) {
   return getChmFileIntent(filePath);
  } else if (end.equals("txt")) {
   return getTextFileIntent(filePath, false);
  } else {
   return getAllIntent(filePath);
  }
 }

// Android获取一个用于打开文本文件的intentjava

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获取一个用于打开PDF文件的intentandroid

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获取一个用于打开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获取一个用于打开PPT文件的intentapp

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获取一个用于打开APK文件的intent运维

public static Intent getAllIntent(String param) {

  Intent intent = new Intent();
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  intent.setAction(android.content.Intent.ACTION_VIEW);
  Uri uri = Uri.fromFile(new File(param));
  intent.setDataAndType(uri, "*/*");
  return intent;
 }

// Android获取一个用于打开APK文件的intentide

public static Intent getApkFileIntent(String param) {

  Intent intent = new Intent();
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  intent.setAction(android.content.Intent.ACTION_VIEW);
  Uri uri = Uri.fromFile(new File(param));
  intent.setDataAndType(uri, "application/vnd.android.package-archive");
  return intent;
 }

// Android获取一个用于打开VIDEO文件的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获取一个用于打开AUDIO文件的intentui

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获取一个用于打开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;
 }

// 图片的Intent

public static Intent getImageFileIntent(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, "image/*");
  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;
 }

// 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;
 }

知行团队,作最好的移动办公

相关文章
相关标签/搜索