回答
爲此做一個活動,檢查一個首選項是否具有當前版本的值。如果是這樣,繼續下一個活動。否則,在當前版本的首選項中,顯示新的屏幕,然後按按鈕進入下一個活動
這很簡單。 在第一次啓動時顯示AlertDialog並在SharedPreferences中創建記錄。無論 - 標誌或字符串,或有點。 下一次您的應用程序啓動時,只需檢查您在首選項中是否有此標誌。如果沒有人,那麼這是第一次啓動,是時候顯示一個對話框=)
而且您應該將您的版本號存儲在首選項中,然後您還可以檢測升級[如果(running_version> preferences_stored_version)]。 – 2011-05-06 10:32:25
當我升級軟件並重新安裝時是否會丟失我的偏好?我不這麼認爲 – 2011-05-06 11:27:06
你必須保存一個值,你可以在每次啓動時檢查應用程序是否已經啓動。 SharePreferences將是一個選項。或者在數據庫中。
我使用了這個。它是由另一個stackoverflow成員張貼我不記得誰。抱歉。從onCreate()
調用此代碼
// Show changelog
SharedPreferences prefs = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
PackageInfo pInfo;
try {
pInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_META_DATA);
if (prefs.getLong("lastRunVersionCode", 0) < pInfo.versionCode) {
showDialog(DIALOG_CHANGELOG);
SharedPreferences.Editor editor = prefs.edit();
editor.putLong("lastRunVersionCode", pInfo.versionCode);
editor.commit();
}
} catch (PackageManager.NameNotFoundException e) {
Log.e(TAG, "Error reading versionCode");
e.printStackTrace();
}
如果用戶清除設備設置中的應用程序數據,則全部重置。
- 1. 顯示消息安裝
- 2. 如何僅在首次啓動應用程序時顯示消息?
- 3. 安裝後首次運行
- 4. 如何在首次啓動時僅顯示一次UIPageViewController
- 5. 顯示啓動消息後,碼頭的用戶:運行啓動
- 6. 應用程序安裝後首次啓動時,shouldAutorotateToInterfaceOrientation不起作用
- 7. 安裝失敗並顯示消息INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- 8. 安裝失敗,顯示消息「INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME」
- 9. android首次啓動後不顯示圖標...?
- 10. 如何在首次啓動PreferenceActivity時顯示defaultValues?
- 11. 如何在首次啓動應用程序時顯示UIViewController?
- 12. Android首次啓動時顯示軟鍵盤?
- 13. 創建後臺服務,當用戶啓動任何已安裝的應用程序時顯示消息
- 14. TYPO3重新安裝後不會顯示消息
- 15. 安裝修補程序後,laravel webapp顯示錯誤消息
- 16. 只顯示消息一次
- 17. 如何在Android中啓動活動時顯示日誌消息
- 18. 未安裝pdf閱讀器時未顯示消息
- 19. 安裝/首次啓動後,會將小部件設置爲主屏幕嗎?
- 20. JavaScript函數重新啓動後,您如何顯示消息?
- 21. 安裝.MSI之後何時啓動onStart?
- 22. 每次首次緩慢顯示PDF時
- 23. 如何首次安裝?
- 24. 安裝後啓動midlet
- 25. 安裝後重新啓動
- 26. 安裝後啓動文件
- 27. 安裝後Apache不啓動
- 28. 首次在瀏覽器中首次打開時,在MVC主頁上顯示警告消息
- 29. Android:安裝另一個應用程序並檢測它何時首次啓動
- 30. Branch.io在Android上安裝後首次運行時檢索BranchUniversalObject
如何在運行時獲取我的版本號? – 2011-05-06 11:28:59
將其編碼爲常量。或者向PackageManager詢問你的軟件包的元數據。見例如http://osdir.com/ml/Android-Developers/2010-01/msg03487.html – 2011-05-06 12:35:59