android中强制更新应用实例代码

  

推荐第三种方式,简单快捷不卡。
  

  


  

  

GitHub地址:jjdxmashl/jjdxm_update

  

效果图:

  

点击立即更新,程序会在后台下载,通知栏有下载进度。这个时候手机系统很卡,可能由于是下载应用的原因吧。下载完成后弹出安装界面
  

  

 android中强制更新应用实例代码”>,<br/>
  </p>
  <p> <img src=

  

<强>简介:

  

这是大神jjdxmashl的开源项目,下载地址见上方。有版本更新,手动更新,静默更新,自动更新4种情况。应用内更新,实现类是友盟自动更新sdk的模式,用户使用前只需要配置自己的服务器更新检查接口即可(必须接口),也可以扩展加入一个接口作为在线参数配置来实现,可以实现下面的4种2更新方式和是否强制更新组合使用,支持,发布方式请求网络,默认是得到请求。
  

  

4种更新检查类型

  
      <李>手动更新:手动检测更新(所有网络类型环境检测并提示主要用于点击检测使用)   <李>自动更新:自动检测更新(所有网络类型环境检测并提示)   <李>仅WiFi自动检测更新(只有WiFi网络类型环境检测并提示)   <李>静默更新:仅WiFi自动检测下载(只有WiFi网络类型环境检测,下载完才提示)
      李   
  

2种强制更新方式

  
      <李>在更新检查返回后,直接设置update.setForce(真正的)   <李>配合在线参数使用,通过在线参数返回的数据设置UpdateHelper.getInstance () .setForced(真正的)   
  

上述4中更新检查结合2种强制更新,适用于:上一个应用版本有重大漏洞、修改在线参数统一控制所有的应用用户,不更新就不可以使用应用。
  

  

主要原理:服务器上修改参数值,应用端获取后进行判断,如果是强制更新,则在打开应用时就提示有新版本的应用,更新完成后才可以使用该应用;更新为完成,则提示框不消失,点击回键则退出应用。
  

  

<强>强制更新的使用

  

下面演示的是强制更新的情况,
  

  

 android中强制更新应用实例代码

  

步骤1:添加依赖库

  

在主程序的构建。gradle文件的依赖关系属性中添加依赖库
  

        依赖关系{   …   编译“com.dou361.update: jjdxm-update: 1.0.5”   编译的com.dou361.download: jjdxm-download: 1.0.3   …   }      

步骤2:配置更新接口参数信息,初始化参数接口和解析参数

  

必须配置的是在线更新接口和该接口返回数据的解析
  可选的是在线参数接口和该接口返回数据的解析(一般用不到),在线参数可以随机定义零个或多个不同意义的参数来达到在线修改apk的部分特性。
  

  

Step2-1创建一个自动更新的配置类

  

           方法+参数   含义               setCheckUrl (checkUrl)   checkUrl:更新应用的接口         setCheckJsonParser(新ParseData(){返回更新;}   只能返回更新类型,解析可以随便解析,但要把解析到的数据赋值给更新,再把更新返回            

        公开课UpdateConfig {   私有静态最终字符串标签=癠pdateConfig”;   私有静态字符串checkUrl=" http://192.168.1.11:8080/中/jsoninfo”;      公共静态孔隙init(上下文语境){   UpdateHelper.init(上下文);   UpdateHelper.getInstance ()   .setMethod (RequestType.get)//可填:请求方式,默认为得到请求   .setCheckUrl (checkUrl)//必填:数据更新接口,方法有重载带参数的setCheckUrl (checkUrl params)   .setDialogLayout (R.layout.custom_update_dialog)//自定义的更新对话框   .setCheckJsonParser(新ParseData(){//必填:用于从数据更新接口获取的数据响应中。解析出更新实例。以便框架内部处理   @Override   公共更新parse (String响应){   日志。d(标签,“响应=" +响应);//解析json数据   Gson Gson=new Gson ();   UpDateBean UpDateBean=gson.fromJson(响应,UpDateBean.class);   UpDateBean。DataBean data=https://www.yisu.com/zixun/upDateBean.getData ();      更新更新=new Update ();   update.setForce (data.isForce ());   update.setApkSize (data.getV_size ());   update.setUpdateContent (data.getUpdate_content ());   update.setUpdateUrl (data.getDownload_url ());   update.setVersionCode (Integer.parseInt (data.getV_code ()));   update.setVersionName (data.getV_name ());   返回更新;//只能返回更新类型,否则报错,所以我们要把解析的javaBean数据赋值给更新,然后将更新返回   }   });   }   }   

android中强制更新应用实例代码