我使用此代碼來獲取應用程序的「版本名稱」,然後將其發送到我的服務器: String appversion = mContext.getPackageManager().getPackageInfo(act.getPackageName(), 0).versionName;
升級Android應用程序沒有獲取新的versionName
當我已經安裝在手機上的應用程序的V1.0並通過Google Play將應用升級到v1.0.1,該應用仍會發送「1.0」作爲versionName
。
如果我「強行關閉」應用程序,然後打開它,它仍然會報告「1.0」。
如果我「強制關閉」和「清除數據」,它仍然報告「1.0」。
如果我從手機上卸載應用程序,然後下載v1.0.1,,那麼版本名稱會被報告爲「1.0.1」。
任何想法爲什麼會發生這種情況,或者我能做些什麼來解決問題?
編輯: 這個應用程序是連接到Android庫的幾個目標/ apks之一。 Android庫中有一個Manifest,每個目標apk都有一個Manifest。我的理解是,每個apk都會使用它自己的Manifest(並且不正確的版本號與圖書館的Manifest中的數字不匹配),但我想我應該提到這一點。
對於調試,添加一個Toast,在您的應用程序中顯示版本名稱。如果它在那裏是錯誤的,你可以排除這是你的報告系統的錯誤。 – Kopfgeldjaeger 2013-03-27 18:31:41
這似乎是升級系統的錯誤。如果我全新安裝了應用程序,它會報告正確的版本。只是當我從以前的版本升級。 – Chris 2013-03-27 18:55:35
由於Google Play需要一段時間才能跨所有服務器同步更新,因此您可能無法第一次獲得更新後的apk。然後,當你卸載並重新安裝應用程序,你有新的。 – 2013-03-27 19:20:35