我知道这是可能的,但我想不出一种方法来从主要 Activity 中触发我的小部件更新。我不能广播一些一般 Intent 吗?
最佳答案
如果您正在使用 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);
关于android - 以编程方式从 Activity/服务/接收器更新小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455123/