我有一些AppWidget
的应用程序。我正在存储有关每个小部件的一些信息,包括其appWidgetId
在数据库中 - 我需要这些信息来正确更新每个小部件。问题是,设备重启后,我再也无法解决这些appWidgetId
,因为它们似乎更改了它们的值。我怎样才能克服这个问题?提前谢谢。
答案 0 :(得分:4)
看起来只有某些设备上的appwidget ID会在重启时发生变化(由于错误)。请参阅this thread。
我查看了Android源代码。 appwidget ID确实保存在/data/system/appwidgets.xml
的文件中。也许您的设备有上面提到的错误中提到的错误。
我无法想到合适的解决方法。
答案 1 :(得分:1)
我认为Dheeraj是对的。我也是Android Widgets的开发人员并且做同样的事情:我通过记住WidgetId来保存每个小部件的设置。这在我认识的所有设备上完美运行。在我知道的所有设备上重新启动后,ID不会更改。你确定你的意见吗?
答案 2 :(得分:-1)
每次运行应用程序而不是存储来自R.java的id时,新的appWidgetId都会在R.java中生成,你可以在你的数据库中存储来自android:id =“@ + id / btn_add”的id。