從友盟獲取自己軟體最新版本的版本名稱
關於友盟的更新統計,大家都很熟悉了,我也就不說了,就說一下獲取最新版本的方法吧,看了很多人都有這個疑惑,跟大家分享一下
收下還是要從檢測更新下手
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
@Override
publicvoid 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;就是我們要找的友盟上最新版本的版本名稱。