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("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("jpg")||end.equals("gif")||end.equals("png")||end.equals("jpeg")||end.equals("bmp")){return getImageFileIntent(filePath);}else if(end.equals("apk")){return getApkFileIntent(filePath);}else if(end.equals("ppt")){return getPptFileIntent(filePath);}else if(end.equals("xls")){return getExcelFileIntent(filePath);}else if(end.equals("doc")){return getWordFileIntent(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获取一个用于打开APK文件的intentpublic 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文件的intentpublic 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文件的intentpublic 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文件的intentpublic 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;}//Android获取一个用于打开图片文件的intentpublic 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获取一个用于打开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获取一个用于打开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获取一个用于打开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获取一个用于打开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获取一个用于打开文本文件的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获取一个用于打开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;   }
转载自:http://blog.csdn.net/weich_java/article/details/7002829

更多相关文章

  1. Android(安卓)基于4G模块 GPS定位
  2. 获取Android应用程序的签名
  3. Android(安卓)Http 异步请求
  4. Android中Bitmap、Drawable、byte[]转换
  5. android一些技巧
  6. Delphi XE5 android 获取网络状态《转》
  7. android 打开通知栏
  8. android 语音识别
  9. android截屏

随机推荐

  1. Android编程调试Log类使用详解
  2. android2.2 2.3状态栏区别
  3. Android的Menu键监听
  4. phonegap2.5在android开发平台的环境搭建
  5. Android(安卓)查看及设置 SELinux 状态
  6. Android简单登陆页面
  7. Android开发常用功能整理
  8. Android第三方文件选择器aFileChooser使
  9. 解决android:layout_marginBottom在Relat
  10. Android:Installation error: INSTALL_FAI