打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
友盟强制更新

     公司项目选择了umeng的更新功能和,统计插件,而由于版本的管理,使得需要针对某些版本进行强制更新。比如上个版本出现了重大问题,必须进行版本升级才能修复,产品架构有了重大调整,数据结构发生了变化导致原先的app无法解析等等情况。但是查过umeng的产品文档,点击跳转地址为

坑爹的umeng竟然没有强制更新功能,在目前的方法中无法实现强制更新。想想都开始打算做一个下载接口了,自己实现强制更新了。。。

    再查了次umeng的替代方案,发现有一个这样方式,通过在后台设置在线参数,然后在app中对在线参数进行处理,将升级对话框中响应事件设置监听器,完成强制更新的功能。

首先看下后台设置在线参数地址:点击跳转

 

 

然后在app中嵌入一下代码,参考

 1  UmengUpdateAgent.setUpdateOnlyWifi(false); 2         String upgrade_mode = MobclickAgent.getConfigParams(this, "upgrade_mode"); 3   4         if(TextUtils.isEmpty(upgrade_mode)){ 5             return; 6         } 7         String[] upgrade_mode_array = upgrade_mode.split(";"); 8         UmengUpdateAgent.setUpdateOnlyWifi(false); 9         UmengUpdateAgent.update(MainActivity.this);10         UmengUpdateAgent.forceUpdate(MainActivity.this);//这行如果是强制更新就一定加上11         for(String mode:upgrade_mode_array){12             String versionName = ((MyApplication)getApplication()).getVersionName();13             versionName = versionName + "f";14             if(mode.equals(versionName)){15                 //进入强制更新16                 UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {17 18                     @Override19                     public void onUpdateReturned(int updateStatus, UpdateResponse updateResponse) {20                         21                     }22                 });23                 UmengUpdateAgent.setDialogListener(new UmengDialogButtonListener() {24                     @Override25                     public void onClick(int status) {26 27                         switch (status) {28                             case UpdateStatus.Update:29 30                                 break;31                             default:32                                 //退出应用33                                 MyApplication.base_logs.shortToast(getString(R.string.force_update_toast_string));34                                 ((MyApplication) getApplication()).AppExit(MainActivity.this);35                         }36                     }37                 });38                 break;39             }40         }

这里

UmengUpdateAgent.forceUpdate(MainActivity.this); 这行很重要,不加上这条,看看界面如何:

这里可以选择忽略改版,然后即使代码规定点击以后再说,也不会退出应用程序。
反过来加上这句代码看看界面如何:


这里没有忽略改版,然后点击以后再说,就会退出应用程序。
再次吐槽umeng的东西现在体验性不友好啊。


 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Android 自动更新 SDK快速开始
10.Android-SharedPreferences使用
Unity3D调用第三方SDK(之一)从eclipse到Unity3D
友盟在线参数+自动更新升级SDK实现指定版本强制更新升级
U句
Android应用的自动升级、更新模块的实现
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服