安卓中实现如何让下载好的apk自动进入安装界面
来源:互联网 发布:云南省卫生网络直报 编辑:程序博客网 时间:2024/05/16 09:58
下载好的apk自动进入安装界面
前言:
如何实现下载功能在这里就不多说了,我用的是xutils开源框架实现的。这里我主要讲的是如何让下载好的apk自动跳入安装界面而已。这个需求主要是对于软件的升级更新所用。
实现步骤:
1、查看安卓系统上层的源码,找到PackageInstaller层的配置文件(AndroidManifest.xml) 点击下载安卓系统源码
2、在配置文件中查看意图配制信息,如下图
3、编写对于的安装方法:
private void installapk(File file) { //配置apk安装入口,查看源码的主配置可知 Intent intent=new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); //文件作为数据源,且设置安装的类型 intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive"); // startActivity(intent);这个是正常开启另一activity的方式,下面的是通过隐式意图开启//隐式意图开启时需要实现对应的onActivityResult()方法 startActivityForResult(intent,0); }
隐式意图方法的回调
//开启一个activity后,返回结果调用的方法 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { enterMainActivity(); super.onActivityResult(requestCode, resultCode, data); }
对上述方法来个简单解释。
参数传入的File file表示下载好的文件。因为此方法是在下载成功后调用的。而xutils框架有对于的下载成功的方法,下载成功的方法有对于的返回值file。算了,我还是贴一下用xutils下载流程的代码吧。(看成功回调方法即可)点击下载xutils框架jar包
/** * 下载更新的apk方法 */ private void downApk() { //1、判断SD卡是否插上 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //2、获取SD卡路径 String path=Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"360soft1.apk"; Log.i(tag,"保存在"+path);//3、发送请求,获取apk安装包并且保存到指定位置 HttpUtils httpUtils=new HttpUtils();//4、发送请求,传递参数,第三个参数表示请求的回调方法,判断成功与否 httpUtils.download(mVersionUrl, path, new RequestCallBack<File>() { @Override public void onSuccess(ResponseInfo<File> responseInfo) { //下载成功 File file = responseInfo.result; Log.i(tag,"下载成功"); //提示用户安装,这里调用安装方法 installapk(file); } @Override public void onFailure(HttpException e, String s) { //下载失败 Log.i(tag,"下载失败"); } //刚刚开始下载 @Override public void onStart() { super.onStart(); Log.i(tag,"开始下载"); } /** * * @param total 下载文件的总大小 * @param current 当前下载位置 * @param isUploading 是否正在下载中 */ @Override public void onLoading(long total, long current, boolean isUploading) { super.onLoading(total, current, isUploading); Log.i(tag,"正在下载"); } }); } }好了,以上就是简单实现自动进入安装界面的方法。其中涉及到其他逻辑就不必了解了,这里主要讲的是如何实现自动安装而已,不能跑题哦。
尾语:此文仅是个人的学习笔记,如有不妥敬请留言。
阅读全文
0 0
- 安卓中实现如何让下载好的apk自动进入安装界面
- Android开发实践经验谈:如何让各式手机浏览器可以直接下载apk安装文件且实现自动安装APP
- Android客户端apk自动检测更新自动下载自动安装的实现方法
- 如何在电子市场和安卓市场下载并安装免费好用的APK文件?
- 下载好自动安装
- apk安装法之二----一段Android实现应用下载并自动安装apk包的代码
- apk安装法之二----一段Android实现应用下载并自动安装apk包的代码
- AngularJs实现进入聊天界面时的自动滚动
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android 实现apk文件下载并自动安装
- Android 实现apk文件下载并自动安装
- Android实现文件下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Spring整合Shiro做权限控制模块详细案例分析
- promise
- 一个WebSocket客户端的JavaScript例子
- cgi, fastcgi
- WebAssembly,Web的新时代
- 安卓中实现如何让下载好的apk自动进入安装界面
- C++ STL string对象操作汇总
- WebStorm支持ES6语法设置
- 用原生HTML5控件实现输入框自动提示(下拉列表补全)功能
- js splice()的用法
- 抽屉
- java缓存范围的分析
- java-FtpClient 503
- URAL 1748. The Most Complex Number(反素数)