Android中的活动内容更改时,小组件不会更新

时间:2011-11-15 20:24:42

标签: android android-widget broadcastreceiver

我有一个小部件,其内容与实际应用程序中的内容非常相似,即图像和文本的规模较小。

我使用以下代码在活动UI更新后更新小部件 - 只是它不起作用且小部件没有更新:

Intent i = new Intent(mContext, ExtensionOfAppWidgetProvider.class);
i.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
mContext.sendBroadcast(i);

我无法在不删除小部件然后将其放回主屏幕的情况下调用AppWidgetProvider类的onUpdate()。

感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:1)

这是罪魁祸首......我的AppWidgetProvider类的onReceive()缺少几行代码。

AppWidgetManager mgr = AppWidgetManager.getInstance(context);

int[] ids = mgr.getAppWidgetIds(new ComponentName(context, PromoStackWidgetProvider.class));

for(int id : ids) {
        mgr.notifyAppWidgetViewDataChanged(id, R.id.stack_view);
    }

答案 1 :(得分:0)

确保您的小部件本身作为AndroidManifest.xml中的注册广播接收器