现在的位置: 首页 > 综合 > 正文

apklug插件托管服务开发教程之查询已安装插件版本状态-03

2018年02月23日 ⁄ 综合 ⁄ 共 1835字 ⁄ 字号 评论关闭

实现项目demo http://git.oschina.net/plug/ApkplugCloudServiceDemo

实现代码 :com.apkplugdemo.adapter.UpdataActivity

一,插件版本状态查询服务

    OSGI服务接口为:com.apkplug.service.update.checkupdate

    OSGI服务查询模板代码如下   

01 /**
02 *
插件版本更新OSGI服务 一次只允许最大查询20给插件的版本信息
03 *
@param context
04 *
@param updateAppBean bean  需要查询版本的插件填充bean 
05 *
@param callback            查询回调函数
06 */
07 public void checkupdate(BundleContext
context,updateAppBean bean,updateCallBack callback){
08     ServiceReference
reference=context.getServiceReference(checkupdate.
class.getName());
09     if(null!=reference){
10         checkupdate
service=(checkupdate) context.getService(reference);
11         if(service!=null){
12                 service.checkupdate(bean,
callback);
13         }
14         context.ungetService(reference);
15     }
16 }
01 public class updateAppBean
{
02     //需要查询的插件版本信息
最多20个
03     private List<updateAppInfo>
apps=
null;
04     public List<updateAppInfo>
getApps() {
05         return apps;
06     }
07     public void setApps(List<updateAppInfo>
apps) {
08         this.apps
= apps;
09     }
10 }
01 /**
02  *
只有 bundlevarsion 与 versionCode 版本同时小于现有服务器上插件版本才能算有更新版本
03  *
@author 梁前武
04  *
www.apkplug.com
05  */
06 public class updateAppInfo
{
07     //插件package
id
08     public String
appid=
null;
09     //插件
plugin.xml中版本
10     public String
bundlevarsion=
null;
11     //插件AndroidManifest.xml中版本
12     public int versionCode=0;
13 }
01 public interface updateCallBack
{
02     /**
03      *
获取成功
04      */
05     public final int suc=0;
06     /**
07      *
数据解析失败
08      */
09     public final int msg_exp_fail=-1;
10     /**
11      *
网络连接失败
12      */
13     public final int net_fail=-2;
14     /**
15      *
服务返回错误消息
16      */
17     public final int msg_fail=-3;
18     /**
19      *
只有更新版本的插件才会传回
20      *
@param stutas
21      *
@param newapps 可更新app列表
22      *
@param info
23      */
24     public void onSuccess(int stutas,List<appBean>
newapps,String info);
25     public void onFailure(int errorNo
,String strMsg);
26 }

抱歉!评论已关闭.