AppWidget ID 的生存期



我有一个带有一些AppWidget s的应用程序。我正在数据库中存储关于每个小部件的一些信息,包括它的appWidgetId——我需要这些信息来正确更新每个小部件。问题是,在设备重新启动后,我无法再处理这些appWidgetId,因为它们似乎更改了值。我该如何克服这个问题?提前谢谢。

看起来只有在某些设备上,appwidget ID才会在重新启动时更改(由于错误)。请参阅此线程。

我查看了安卓的来源。appwidget ID确实保存在/data/system/appwidgets.xml的一个文件中。也许你的设备有上面线程中提到的错误。

我想不出合适的工作。

我认为Dheeraj是对的。我也是安卓小工具的开发者,和你做的一样:我通过重新标记小工具ID来保存每个小工具的设置。这在我所知道的所有设备上都能完美工作。在我所知道的所有设备上,ID在重新启动后都不会更改。你确定你的观察结果吗?

每次运行应用程序时,都会在R.java中生成新的appWidgetId,而不是从R.java中存储id。您可以将android:id="@+id/btn_add"中的id存储在数据库中。

最新更新