android打开文件
16lz
2021-12-04
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
更多相关文章
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- Android(安卓)USB通讯(完整版)
- android 获取IP
- android 获取手机联系人信息
- Android常用方法总结
- Android(安卓)获取XML,DRAWABLE资源
- Android(安卓)获取当前进程
- Android(安卓)-- 倒计时Button的实现
- Android从相机或相册获取图片裁剪