private void openFile(File f)     {      Intent intent = new Intent();      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);      intent.setAction(android.content.Intent.ACTION_VIEW);            /* 调用getMIMEType()来取得MimeType */      String type = getMIMEType(f);      /* 设置intent的file与MimeType */      intent.setDataAndType(Uri.fromFile(f),type);      startActivity(intent);     }    /* 判断文件MimeType的method */    private String getMIMEType(File f)     {       String type="";      String fName=f.getName();      /* 取得扩展名 */      String end=fName.substring(fName.lastIndexOf(".")      +1,fName.length()).toLowerCase();             /* 依扩展名的类型决定MimeType */      if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||      end.equals("xmf")||end.equals("ogg")||end.equals("wav"))      {        type = "audio";       }      else if(end.equals("3gp")||end.equals("mp4"))      {        type = "video";      }      else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||      end.equals("jpeg")||end.equals("bmp"))      {        type = "image";      }      else if(end.equals("apk"))       {         /* android.permission.INSTALL_PACKAGES */         type = "application/vnd.android.package-archive";       }       else      {        type="*";      }      /*如果无法直接打开,就跳出软件列表给用户选择 */      if(end.equals("apk"))       {       }       else       {         type += "/*";        }       return type;      } 

代码2:

public void doOpenFile(String file){/**Log.d(tag, "zip: "  + file);ZipUtils.zip(file, file + "2"); /**//***/Intent intent = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("file://" + file); String type = null;type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(file));if (type == null) {String tmp = file.toLowerCase();if (tmp.endsWith("mp3") || tmp.endsWith("wav") || tmp.endsWith("wma")) {type = "audio/*";} else if (tmp.endsWith("apk")) {type = "application/vnd.android.package-archive";}}if(type != null){//intent.setType(type);if (FileManager.D) Log.d(tag, type);intent.setDataAndType(uri, type);try {fileManager.startActivityForResult(intent, 1);} catch (ActivityNotFoundException e){Toast.makeText(fileManager, fileManager.getString(R.string.can_not_open_file),Toast.LENGTH_SHORT).show();}} else {Toast.makeText(fileManager, fileManager.getString(R.string.can_not_find_a_suitable_program_to_open_this_file), Toast.LENGTH_SHORT).show();}/** */}

转自:

http://blog.csdn.net/gf771115/article/details/6651694

//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://hi.baidu.com/yjftion/blog/item/83a813094560f23c6b60fbb7.html

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. Android(安卓)USB通讯(完整版)
  3. android 获取IP
  4. android 获取手机联系人信息
  5. Android常用方法总结
  6. Android(安卓)获取XML,DRAWABLE资源
  7. Android(安卓)获取当前进程
  8. Android(安卓)-- 倒计时Button的实现
  9. Android从相机或相册获取图片裁剪

随机推荐

  1. 【分享】4412开发板-嵌入式Linux开发需要
  2. 在linux bash do循环中保持变量的值
  3. [Linux OS] Ubuntu 16.04 上实时显示上下
  4. 小型web服务器thttpd的学习总结(上)&小型we
  5. linux-阿里云仓库搭建-搭建本地仓库-yum
  6. 如何在Linux下优雅的查询日志
  7. 类似于非Sandy Bridge / xeon处理器的RAP
  8. 调整环境让你的PHP能调用JAVA类
  9. linux下编译Hive 源码并导入eclipse中(使
  10. linux下查找包含关键字的文件