首页 > 代码库 > 笔记-Android中打开各种格式的文件(apk、word、excel、ppt、pdf、音视频、图片等)
笔记-Android中打开各种格式的文件(apk、word、excel、ppt、pdf、音视频、图片等)
打开后缀.apk的文件,即启动安装程序;
//apkFilePath 文件路径 public void installAPK(String apkFilePath) { // 创建URI Uri uri = Uri.fromFile(new File(apkFilePath)); Intent intent = new Intent(Intent.ACTION_VIEW); // 设置Uri和类型 intent.setDataAndType(uri, "application/vnd.android.package-archive"); // 执行安装 mContext.startActivity(intent); }
/** * 打开多种类型文件 * @param path 文件路径 * @param type 文件类型 */ public void openText(String path , int type){ Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Uri uri = Uri.fromFile(new File(path )); //判断文件类型 if (FILE_TYPE_PPT == type) { intent.setDataAndType(uri, "application/vnd.ms-powerpoint"); } else if (FILE_TYPE_WORD == type) { intent.setDataAndType(uri, "application/msword"); } else if(FILE_TYPE_EXCEL == type){ intent.setDataAndType(uri, "application/vnd.ms-excel"); } else if(FILE_TYPE_TXT == type){ intent.setDataAndType(uri, "text/plain"); } else if(FILE_TYPE_PDF == type){ intent.setDataAndType(uri, "application/pdf"); } else if(FILE_TYPE_HTML == type){ Uri htmluri = Uri.parse(path).buildUpon().encodedAuthority("com.android.htmlfileprovider") .scheme("content").encodedPath(path).build(); intent.setDataAndType(htmluri, "text/html"); } try { activity.startActivity(intent); } catch (Exception e) { Toast.makeText(mContext, "设备中没有安装支持该格式的程序", Toast.LENGTH_SHORT).show(); } }
<pre name="code" class="java"> ////////打开多媒体类型 intent.setDataAndType(uri, "audio/*"); //音频 intent.setDataAndType(uri, "video/*"); //视频 intent.setDataAndType(uri, "image/*"); //图片 intent.setDataAndType(uri, "application/x-chm"); //打开chm文件
////判断文件名是否是某种类型的后缀 private boolean check(final String name, final String[] extensions) { for (String end : extensions) { if (name.toLowerCase().endsWith(end)) { return true; } } return false; } /////////////设置类型 if (check(name, ".apk")){ file.setType(FILE_TYPE_APK); } else if(check(name, ".pdf")){ file.setType(FILE_TYPE_PDF); } else if(check(name, getStringArray(R.array.ppt_filter))){ file.setType(FILE_TYPE_PPT); } ................... array.ppt_filter: <array name="ppt_filter"> <item>.ppt</item> <item>.pptx</item> </array>
//获取设备存储路径(sd卡,usb)
Environment.getExternalStorageDirectory();
Environment.getExternalStorageDirectory().getParent();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。