下载安装APK
Posted iFat的笔记本
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载安装APK相关的知识,希望对你有一定的参考价值。
protected void downloadApk() { //apk下载链接地址,放置apk的所在路径 //1,判断sd卡是否可用,是否挂在上 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //2,获取sd路径 String path = Environment.getExternalStorageDirectory().getAbsolutePath() +File.separator+"mobilesafe74.apk"; //3,发送请求,获取apk,并且放置到指定路径 HttpUtils httpUtils = new HttpUtils(); //4,发送请求,传递参数(下载地址,下载应用放置位置) httpUtils.download(mDownloadUrl, path, new RequestCallBack<File>() { @Override public void onSuccess(ResponseInfo<File> responseInfo) { //下载成功(下载过后的放置在sd卡中apk) Log.i(tag, "下载成功"); File file = responseInfo.result; //提示用户安装 installApk(file); } @Override public void onFailure(HttpException arg0, String arg1) { Log.i(tag, "下载失败"); //下载失败 } //刚刚开始下载方法 @Override public void onStart() { Log.i(tag, "刚刚开始下载"); super.onStart(); } //下载过程中的方法(下载apk总大小,当前的下载位置,是否正在下载) @Override public void onLoading(long total, long current,boolean isUploading) { Log.i(tag, "下载中........"); Log.i(tag, "total = "+total); Log.i(tag, "current = "+current); super.onLoading(total, current, isUploading); } }); } } /** * 安装对应apk * @param file 安装文件 */ protected void installApk(File file) { //系统应用界面,源码,安装apk入口 Intent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); /*//文件作为数据源 intent.setData(Uri.fromFile(file)); //设置安装的类型 intent.setType("application/vnd.android.package-archive");*/ intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive"); // startActivity(intent); startActivityForResult(intent, 0); }
//开启一个activity后,返回结果调用的方法 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { enterHome(); super.onActivityResult(requestCode, resultCode, data); }
以上是关于下载安装APK的主要内容,如果未能解决你的问题,请参考以下文章
Google PlayAPK 扩展包 ( 2021年09月02日最新处理方案 | 内部测试链接 | 安装 Google Play 中带 扩展文件 的 APK 安装包 | 验证下载的扩展文件 )(代码片