android --APK下载、安装、启动
来源:互联网 发布:mac ftp下载工具 编辑:程序博客网 时间:2024/05/16 17:26
今天项目中使用到APK更新,同时实现自动安装(静默安装),安装完成后,启动最新安装的APK。
版本判断
请求服务器,判断版本,下载apk
下载APK
http.download(ApkUrl, "/sdcard/Download/" + fileName, true,
new RequestCallBack<File>() {
@Override
public void onStart() {
LogUtils.d("conn...");
}
@Override
public void onLoading(long total, long current,
boolean isUploading) {
LogUtils.d("reply: " + current + "/" + total);
}
@Override
public void onFailure(HttpException error, String msg) {
mHandle.postDelayed(new splashhandler(), 300);
LogUtils.e(error.getExceptionCode() + ":" + msg);
error.printStackTrace();
}
@Override
public void onSuccess(ResponseInfo<File> arg0) {
LogUtils.d("LoadingActivity: down apk success");
// 安装apk
Intent installAPKIntent = DownloadAPKUtils.installAPK(
context, fileName);
startActivityForResult(installAPKIntent, 9001);
}
});
}
安装APK
Intent intent = new Intent(Intent.ACTION_VIEW);
File file = new File("/sdcard/Download/", fileName);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
启动APK
public static Intent openUpdateAPK(Context context, String packageName) {
if (null == packageName)
return null;
PackageManager pm = context.getPackageManager();
Intent mainTntent = new Intent(Intent.ACTION_MAIN, null);
mainTntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> reesolveInfos = pm.queryIntentActivities(mainTntent,
PackageManager.GET_INTENT_FILTERS);
Collections.sort(reesolveInfos, new ResolveInfo.DisplayNameComparator(
pm));
for (ResolveInfo reInfo : reesolveInfos) {
String activityName = reInfo.activityInfo.name;
String pkgName = reInfo.activityInfo.packageName;
String appLabel = (String) reInfo.loadLabel(pm);
Intent launchIntent = new Intent();
launchIntent.setComponent(new ComponentName(pkgName, activityName));
return launchIntent;
}
return null;
}
如有问题一起讨论!
- android --APK下载、安装、启动
- Android ,下载安装apk 启动一个应用
- Android 下载安装APK
- Android 下载安装APK
- android下载安装APK
- android下载安装APK
- android下载安装APK
- Android 下载APK 安装APK 打开APK
- Android 下载APK 安装APK 打开APK
- Android 下载APK 安装APK 打开APK
- Android 下载APK 安装APK 打开APK
- android下载apk并安装
- Android下载并安装APK
- android下载apk且安装
- Android下载并安装APK
- Android实现APK下载安装
- Android 7.0下载安装APK
- Android APK免安装启动
- Android内容提供者(二)创建自己的Provider
- C# time.ToString("yyyyMMddHH") "yyyyMMdd"TO--DateTime
- 关键子工程
- 如何在NSLog中输出结构体
- 批处理 cd /d %~dp0
- android --APK下载、安装、启动
- 支付宝集成获取私钥与公钥【原创】
- 【Linux笔记】Linux目录结构
- SpringMVC+Hibernate将连接oracle的数据库换成MySQL,报错如何解决
- JAVA QUEUE 队列 使用
- firstChild.nodeValue 和 lastChild.nodeValue
- 文章标题
- 运用通知实现点击非键盘处回收键盘
- 自定义Switch 控件textOn和textOff字体大小