1. 程式人生 > >從友盟獲取自己軟體最新版本的版本名稱

從友盟獲取自己軟體最新版本的版本名稱

關於友盟的更新統計,大家都很熟悉了,我也就不說了,就說一下獲取最新版本的方法吧,看了很多人都有這個疑惑,跟大家分享一下

收下還是要從檢測更新下手

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;就是我們要找的友盟上最新版本的版本名稱。