我有一个Widget,它的设置让我点击它时会在活动中打开一些设置。更新Android Widget来自活动
views.setOnClickPendingIntent(R.id.btnActivate, pendingIntent);
这配置了应用程序的一些设置。我想要实现的是在活动I启动关闭时,让窗口小部件更新其视图以反映已更改的设置。使用更新间隔或任何其他类型的轮询不适用于此。
我在这里看到了几个地方,在Android文档中使用此代码:
appWidgetManager.updateAppWidget(mAppWidgetId, views);
但我不知道如何获得mAppWidgetId值。我尝试下面的小窗口配置活动在这里http://developer.android.com/guide/topics/appwidgets/index.html的例子,但在下面的代码,
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
演员总是空的,所以我从来没有得到过AppWidgetID。
好吧,现在我只是散漫。你认为我能做什么?
感谢分享答案!我们在哪里必须放置这些代码,在小部件设置活动或小部件类内? – BamsBamx 2012-10-10 10:47:31
Nevermind,我把这里面updateWidget方法,通过“上下文”改变了一些“this”,并删除了“AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this)'现在它正在工作......谢谢! – BamsBamx 2012-10-10 11:09:49
如果您有多个小部件配置,您可能需要尝试appWidgetManager.getAppWidgetIds(component),然后遍历它们。 – rwilson04 2013-03-15 04:22:27