更新单个小部件

时间:2019-06-11 14:03:50

标签: android kotlin widget

我正在创建一个world_clock小部件,可以将其放置在桌面上。 对于小部件,我可以选择要使用的时区。 我现在遇到的唯一问题是,当我选择时区时,将其存储在共享首选项中并发送广播以更新时钟,我的所有小部件实例都会更新。

这里的问题似乎是我所有的小部件实例都具有相同的小部件ID。我使用以下代码检索ID。

val thisWidget = ComponentName(context, WorldClockWidget::class.java)
val manager = AppWidgetManager.getInstance(context)

val appWidgetIds = AppWidgetManager.getInstance(context).getAppWidgetIds(thisWidget)

我还考虑过使用小部件的位置将数据存储在共享首选项中。但是问题是,如果不单击它,我将无法获得窗口小部件的位置。 (单击后,您可以使用sourceBounds获取该位置,但如果没有此方法,我还没有找到一种方法。

有没有一种方法可以分别存储小部件的数据。 还是有一种无需单击即可获取小部件位置的方法?

亲切的问候,

JKorsten

0 个答案:

没有答案