Android实现自动更新功能
来源:互联网 发布:轻松工程测量系统算法 编辑:程序博客网 时间:2024/06/04 19:58
Android实现自动更新功能
Android自动更新的功能可以使用第三方的SDK来实现,但是类似友盟,就不支持x86手机的自动更新,科大讯飞,弹窗是全局的,小米手机就会默认把弹窗权限关掉不允许弹出提示框,还要用户手动开启才行,如果我们自己有服务器,也可以自己来实现自动更新功能
步骤
我们把要更新的新的apk版本上传到我们的服务器,后台暴露一个接口,可以给我返回版本号,更新时间,更新描述,下载地址等信息,就够了,我们根据版本号判断应用是否有更新,如果有更新,下载新的APK,然后提示安装就可以了。
效果图
下载APK
/** * 下载新的APK */protected void downloadNewApk() { // 下载地址 String apkurl = "http://resource.bitmain.com/wallet%2Fbmwallet.apk"; HttpUtils httpUtils = new HttpUtils(); httpUtils.download(apkurl, Environment.getExternalStorageDirectory().getPath() + "/bmwallet.apk", new RequestCallBack<File>() { @Override public void onSuccess(ResponseInfo<File> arg0) { // 下载成功 Toast.makeText(mContext, "下载成功", Toast.LENGTH_SHORT).show(); // 安装APK installApk(); } @Override public void onFailure(HttpException e, String arg1) { // 下载失败 Toast.makeText(mContext, "下载失败", Toast.LENGTH_SHORT).show(); // 打印异常信息 e.printStackTrace(); } @Override public void onLoading(long total, long current, boolean isUploading) { // TODO 显示下载进度 } });}
提示安装APK
/** * 安装APK 打开系统的API安装APK */protected void installApk() { // 调用系统API安装APK Intent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory().getPath() + "/bmwallet.apk")), "application/vnd.android.package-archive"); mContext.startActivity(intent);}
0 0
- Android实现自动更新功能
- android自动更新功能实现 代码
- Android实现APP自动更新功能
- Android应用自动更新功能的实现!!!
- Android应用自动更新功能的实现!!!
- Android应用自动更新功能的实现
- Android 软件自动更新功能的实现
- Android应用自动更新功能的实现!!!
- Android 软件自动更新功能的实现
- Android应用自动更新功能的实现!!!
- Android 软件自动更新功能的实现
- Android应用自动更新功能的实现!!!
- Android应用自动更新功能的实现!!!
- Android应用自动更新功能的代码实现
- Android应用自动更新功能的代码实现
- Android应用自动更新功能的代码实现
- Android应用自动更新功能的代码实现
- Android应用自动更新功能的代码实现
- JAVA 之项目部署更新不上
- 获取隐藏元素的尺寸
- sql 语句 学习
- 一个Activity的显示
- Android Studio Error:Execution failed for task ':app:packageDebug'.
- Android实现自动更新功能
- Item 27:最小化类型转换 Effective C++笔记
- 带有pod的ios工程修改工程名
- 文章标题
- 数据落地不落地导入导出的一个误区
- T-SQL 中的CROSS JOIN用法(半翻译)
- javascript无法对com返回的64位整数比较大小
- 解决Eclipse发布webproject, jar无法发布到tomcat lib目录下的问题
- 【题解】 2015 ACM/ICPC Asia Regional Changchun Online (5+2)