我正在像这样从服务更新小部件(服务和小部件类在两个不同的包中)
AppWidgetManager widgetManager = AppWidgetManager.getInstance(this);
ComponentName widgetComponent = new ComponentName(this,MyWidgetProvider.class);
int[] widgetIds = widgetManager.getAppWidgetIds(widgetComponent);
Intent update = new Intent();
update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIds);
update.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
sendBroadcast(update);
它会更新我的小部件,但问题是它也会更新设备的其他小部件,因为我的小部件会在所有小部件更新后更新。
所以现在我只想更新我的小部件我该怎么做
最佳答案
根据 Android 文档 getAppWidgetIds
返回已绑定(bind)到特定 WidgetProvider
的 id 列表,这是您的所有小部件实例 id 而不是其他 下的小部件 id WidgetProvider
.
关于android - 如何在服务中获取我的应用程序的 widgetID 和 ComponentName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17758041/