笔记-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>
//依据包名卸载apk
private void uninstallPkg(String pkg) {
Uri packageURI = Uri.parse("package:"+pkg);
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);
//也能够用这样的方法卸载
// getPackageManager().deletePackage(pkg, null, 0);
}
//获取设备存储路径(sd卡,usb)
Environment.getExternalStorageDirectory();
Environment.getExternalStorageDirectory().getParent();
笔记-Android中打开各种格式的文件(apk、word、excel、ppt、pdf、音视频、图片等)的更多相关文章
- 微信小程序云开发-云存储-下载并打开文件文件(word/excel/ppt/pdf)
一.wxml文件 1.写文本框,用来获取文件链接. 2.按钮,点击下载文件 <!-- 下载文件(word/excel/ppt/pdf等) --> <view class=" ...
- 微信小程序云开发-云存储-上传文件(word/excel/ppt/pdf)到云存储
说明 word/excel/ppt/pdf是从客户端会话选择文件.使用chooseMessageFile中选择文件. 一.wxml文件 上传按钮,绑定chooseFile <!--上传文件(wo ...
- 微信小程序云开发-云存储-上传、下载、打开文件文件(word/excel/ppt/pdf)一步到位
一.wxml文件 <!-- 上传.下载.打开文件一步执行 --> <view class="handle"> <button bindtap=&quo ...
- ASP.NET Core2集成Office Online Server(OWAS)实现办公文档的在线预览与编辑(支持word\excel\ppt\pdf等格式)
Office Online Server是微软开发的一套基于Office实现在线文档预览编辑的技术框架(支持当前主流的浏览器,且浏览器上无需安装任何插件,支持word.excel.ppt.pdf等文档 ...
- [转发]ASP.NET Core2集成Office Online Server(OWAS)实现办公文档的在线预览与编辑(支持word\excel\ppt\pdf等格式)
转载自:https://www.cnblogs.com/Andre/p/9549874.html Office Online Server是微软开发的一套基于Office实现在线文档预览编辑的技术框架 ...
- Android笔记——Android中数据的存储方式(二)
我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...
- Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
- excel打开csv格式的文件,数字末尾都变成零,解决方式
excel打开csv格式的文件,数字末尾都变成零,解决方式
- 第五十六篇、OC打开本地和网络上的word、ppt、excel、text等文件
iOS打开本地和网络上的word.ppt.excel.text等文件 iOS开发过程中可能需要预览一些文件,这些文件的格式可能有word.ppt.excel等文件格式.那么系统提供两个类去预览这些文件 ...
随机推荐
- Java基础-一文搞懂位运算
在日常的Java开发中,位运算使用的不多,使用的更多的是算数运算(+.-.*./.%).关系运算(<.>.<=.>=.==.!=)和逻辑运算(&&.||.!), ...
- WORLD 目录排版调整
文本如下: ----------------------------------------------------------------- 前言1 简介2 我爱你3 圣灵丹方士大夫4 阿类似的看风 ...
- SSH框架用法,及作用(在一位菜鸟使用半年之后归纳的总结)
SSH框架从接触以来改变了我对代码的编写方式,从最初开始学习到勉强掌握可以说得到不少心得,以下内容出自java初学者对SSH的理解,如有不对的地方还请谅解,希望可以提出来与我交流,谢谢! SSH顾名思 ...
- 熊猫ios手游直播教程 苹果投屏电脑
如今手游越来越火热,不管是大人小孩都喜欢在闲暇时刻玩一玩游戏,手机屏幕终归还是有点小的,所以有的小伙伴想要将手机投屏到电脑上,岂不是一件很好的事情,iPhone是有镜像投屏功能的,下面给大家分享熊猫i ...
- 用ABP只要加人即可马上加快项目进展(二) - 分工篇
2018年和1998年其中两大区别就是: 前端蓬勃发展, 前后端分离是一个十分大的趋势. 专门的测试人员角色被取消, 多出了一个很重要的角色, 产品经理 ABP只要加入即可马上加快项目进展, 选择 ...
- bat 批处理获取时间语法格式
bat 批处理获取时间语法格式 取年份:echo %date:~0,4% 取月份:echo %date:~5,2% 取日期:echo %date:~8,2% 取星期:echo %date:~10 ...
- Python_基于Python同Linux进行交互式操作实现通过堡垒机访问目标机
基于Python同Linux进行交互式操作实现通过堡垒机访问目标机 by:授客 QQ:1033553122 欢迎加入全国软件测试交流群:7156436 实现功能 1 测试环境 1 代码实践 2 注 ...
- Android在程序崩溃或者捕获异常之后重新启动app
在Android应用开发中,偶尔会因为测试的不充分导致一些异常没有被捕获,这时应用会出现异常并强制关闭,这样会导致很不好的用户体验,为了解决这个问题,我们需要捕获相关的异常并做处理. 首先捕获程序崩溃 ...
- 从头开始:详解MVVM、MVVMLight
究竟为什么要学习MVVM? 相信大部分同学在刚开始接触MVVM的时候(包括我自己),心里默默在想这究竟是什么玩意?一个简单的功能要写一大段代码才能完成,在看到MVVM的核心目标: 1.让UI界面与逻辑 ...
- eclipse配置环境变量 (特别是输入javac无显示问题)
下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 最近win10恢复了一下系统,重新给eclipse配一 ...