关于友盟的更新统计,大家都很熟悉了,我也就不说了,就说一下获取最新版本的方法吧,看了很多人都有这个疑惑,跟大家分享一下
收下还是要从检测更新下手
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
@Override
public void onUpdateReturned(int updateStatus,UpdateResponse updateInfo) {
if (updateStatus == 0 && updateInfo != null) {
showUpdateDialog(updateInfo.path, updateInfo.updateLog);
}
// case 0: // has update
// case 1: // has no update
// case 2: // none wifi
// case 3: // time out
}
});
在这个方法中,
int updateStatus 是返回的代号 0、1、2、3,
UpdateResponse updateInfo,这里面就是更新的具体信息,
怎么知道它里面就是具体信息呢?
当然要分析源码,用工具查看友盟更新的jar包 我用的是 umeng-update-v2.5.0.jar
因为我们重写的是UmengUpdateListener类,打开这个类,发现这个类只是个接口
于是根据这个接口的方法中的参数,找到UpdateResponse,根据字面意思,应该是更新的反馈信息
ok ,到这就有些眉目了, version就是我们要找的结果,只不过这个version不是版本号,而是版本名,所以我们只有将自己软件的每个版本名称起的不一样,才能让我们自己不混淆,所以看到这里,版本号就很容易获取了。
在最上方的方法里,String version = updateInfo.version;就是我们要找的友盟上最新版本的版本名称。