Android打开文件,具体还是看代码吧,代码最能说明问题。

AndroidFileUtil.java

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

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. android 获取服务器文件流 hander
  3. Android下获取手机屏幕大小
  4. Android之快捷方式一——通过应用程序创建快捷方式
  5. Android获取本机Mac地址和IP地址
  6. android 通过wifi 获取经纬度和获取渠道号/屏幕宽高
  7. 获取android手机基本信息
  8. Android(安卓)时间获取及格式化
  9. Android(安卓)从代码中打开淘宝和亚马逊、facebook、Message

随机推荐

  1. Android 中文 API (90) ―― WindowManag
  2. Android通知Notification详解
  3. GPS 研究一 (Android2.3)
  4. LeakCanary源码分析
  5. Android IMF 学习笔记三
  6. Android(安卓)camera ISP相关 术语解释(
  7. Android中如何让手机屏幕不待机(PowerMana
  8. eclipse 在线安装android包:Download inte
  9. ActionBarSherlock的学习笔记(一) --------
  10. Android从零开始(26)(设置全屏+横屏、相