3 回答
TA贡献1871条经验 获得超8个赞
如果您正在使用AppWidgetProvider,您可以更新这样说:
Intent intent = new Intent(this, MyAppWidgetProvider.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
// Use an array and EXTRA_APPWIDGET_IDS instead of AppWidgetManager.EXTRA_APPWIDGET_ID,
// since it seems the onUpdate() is only fired on that:
int[] ids = AppWidgetManager.getInstance(getApplication())
.getAppWidgetIds(new ComponentName(getApplication(), MyAppWidgetProvider.class));
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
sendBroadcast(intent);
TA贡献1785条经验 获得超8个赞
如果您正在使用使用诸如ListView,GridView或StackView之类的集合的窗口小部件来更新窗口小部件的项目,请执行以下操作:
Context context = getApplicationContext();
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ComponentName thisWidget = new ComponentName(context, StackWidgetProvider.class);
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.stack_view);
通过此方法notifyAppWidgetViewDataChanged(),您可以强制窗口小部件项实时获取任何新数据。
- 3 回答
- 0 关注
- 319 浏览
添加回答
举报