回答
您可以使用android.intent.action.PACKAGE_REPLACED
接收器時,您的應用程序更新檢測。 根據DOC:
廣播事件:一個應用程序包的新版本已經安裝 ,更換現有的版本是以前安裝 。數據包含軟件包的名稱。
AndroidMenifest.xml: 註冊一個接收器與android.intent.action.PACKAGE_REPLACED
行動。
<receiver android:name=".OnUpgradeReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" android:path="your.app.package" />
</intent-filter>
</receive>
AppUpdateReceiver.java: 創建廣播接收器,當你的應用程序進行更新,將觸發。檢查您的版本代碼並執行具體操作。
public class AppUpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
switch (BuildConfig.VERSION_CODE){
case 1:
//DO something if the version code is 1.
break;
case 2:
//DO something if the version code is 2.
break;
...
...
}
}
}
這看起來不錯,但passsy建議(在我看來)更簡單的解決方案。你的方式有什麼優勢? –
您不必檢查應用程序版本,並檢查每次更新的應用程序。系統會在您的應用更新時調用您的應用。 –
是的,聽起來不錯,謝謝! –
簡單的檢查,如果BuildConfig.VERSION_CODE
改變後詢問用戶隱私警察的一些術語。 爲此,請將版本代碼保存在SharedPreferences
中。 Application#onCreate()
可能是一個很好的觀點。
對不起,您的解決方案是好的,簡單,但Keval Patel的方式看起來更正確的。我投了你的問題,但我接受了Keval –
您可以簡單地更新,並且當用戶將啓動應用程序下一次應該顯示(顯示上推出的用戶策略)的代碼。也許保留一個偏好值,以確保它只發生一次。
或者,你也可以閱讀每個推出的最新版本的代碼,並保持其存儲的偏好,一旦被更新,就可以顯示出政策並更新存儲的值。
存放在sharedpreference的BuildConfig.VERSION_CODE
。每次用戶打開應用程序時,獲取版本代碼並與存儲的數據進行比較。
答案已經提出了這個變種,不重複它 –
- 1. 找出已提交的更新程序
- 2. 如何找出RecyclerView已完成更新?
- 3. 已更新gui應用程序
- 4. 更新已刪除的應用程序
- 5. 如何找出WinForms應用程序已被鼠標點擊
- 6. 如何更新已部署的應用程序?
- 7. 如何更新已發佈的應用程序
- 8. 如何更新已安裝的窗口應用程序(創建修補程序)
- 9. 如何更新我的應用程序/系統/應用程序
- 10. 如何從應用程序內更新應用程序?
- 11. 如何在應用程序更新後找出以前安裝的應用程序版本的versionCode?
- 12. 如何自動更新應用程序
- 13. 如何更新iPhone應用程序
- 14. 如何更新ASP.NET Web應用程序?
- 15. 如何更新asp.net Azure應用程序
- 16. 如何實現應用程序更新?
- 17. 如何更新Eclipse RCP應用程序?
- 18. Android應用程序更新 - 如何?
- 19. 如何獲取應用程序更新?
- 20. 如何找出更多關於安裝的應用程序?
- 21. 如何判斷iOS應用程序是否已新安裝或更新?
- 22. 已通過BlackBerry應用程序更新但未在應用程序世界
- 23. 找出應用程序是否已計劃使用CeRunAppAtTime運行
- 24. 如何使用修補程序更新應用程序文件?
- 25. 如何驗證應用程序池用戶名和密碼是否已更新?
- 26. 如何找出應用程序是否已移至Android上的SD卡
- 27. Android應用程序更新
- 28. PHP應用程序更新
- 29. 應用程序更新器
- 30. Android應用程序更新
您可以通過更換接收器包做到這一點。這裏有一個[示例](http://stackoverflow.com/questions/4513825/how-to-correctly-filter-package-replaced-broadcast) –