我有一些應用程序,其中一些AppWidget
s。我在數據庫中存儲有關每個小部件的一些信息,包括它的appWidgetId
- 我需要這些信息來正確更新每個小部件。問題是設備重新啓動後,我無法再尋址這些appWidgetId
了,因爲它們似乎改變了它們的值。我怎樣才能克服這個問題?提前致謝。AppWidget ID的使用期限
回答
它看起來像只有在某些設備上appwidget ID重新啓動(由於錯誤)的變化。見this thread。
我看了一下Android源代碼。 appwidget ID的確保存在/data/system/appwidgets.xml
的文件中。也許你的設備有上面提到的線程中的錯誤。
我想不出合適的解決辦法。
新的appWidgetId在R.java中生成,每次運行應用程序而不是從R.java存儲標識時,您可以在數據庫中存儲標識android:id =「@ + id/btn_add」。
我不是在談論按鈕的ID,我在談論AppWidget ID。 – Egor 2012-03-19 14:54:51
我認爲Dheeraj是對的。我也是Android Widgets的開發人員,並執行相同的操作:通過重新記錄WidgetId保存每個Widget的設置。這完美地運行在我所知道的所有設備上。在我知道的所有設備上重新啓動之後,ID不會更改。你確定你的觀察嗎?
它似乎隨機發生一次或兩次,這讓我認爲appWidgetIds在重新啓動時以某種方式失效。今天我已經修復了一些數據庫問題,可能它們是真正的問題。 – Egor 2012-03-20 10:48:53
@Egor所以你認爲有問題的設備其實很好,ID保持不變? – 2013-04-13 23:08:08
- 1. 如何獲得appwidget自己的ID?
- 2. 使用robotium測試appwidget
- 3. Appwidget ID但沒有小部件
- 4. appwidget動畫在無限循環
- 5. RACSignal的使用期限
- 6. 在PHP中重置cookie使用期限和會話ID
- 7. 使用資源getResources();在AppWidget的Android
- 8. 從服務更新AppWidget定期
- 9. AppWidget不起作用
- 10. 進度的AppWidget
- 11. 從AppWidget
- 12. xcode「期望非限定id」在cout上
- 13. 期限:數據庫ID值對
- 14. Kerberos密鑰使用期限
- 15. 臨時使用期限
- 16. Quartz.NET作業使用期限
- 17. 幫助使用appwidget與broadcastreceiver和服務?
- 18. 使用Glide爲AppWidget加載圖像
- 19. 我可以在AppWidget中使用TableLayout嗎?
- 20. 半透明AppWidget?
- 21. appwidget listview重複值
- 22. 使用日期作爲MongoDB中的ID?
- 23. Android appwidget onUpdate()
- 24. 編譯Android appwidget
- 25. 在嘗試編譯時使用C++獲取預期的非限定ID錯誤
- 26. AppWidget中的按鈕
- 27. appWidget中的動畫
- 28. 的Android AppWidget更新
- 29. Android AppWidget大小
- 30. 額外的限制期間使用NetworkX
爲什麼你需要堅持ID?你在用什麼?粘貼相關的代碼。 – 2012-03-19 14:44:55
@Dheeraj,appWidgetId是數據庫表格行的關鍵字,它存儲從Internet上獲取信息所需的信息,適用於此單個小部件。你需要看什麼樣的代碼?這有助於解決問題嗎? – Egor 2012-03-19 14:56:33
@Dheeraj,我的應用程序顯示不同國家對的貨幣匯率。每個小部件都有與之綁定的國家信息,並且有一個自動更新系統,需要這些信息來更新每個小部件。有什麼辦法可以解決這個問題嗎? – Egor 2012-03-19 19:10:04