当我的主要活动暂停时,我需要更新我的AppWidget。我尝试在我的主要活动的onPause()中使用以下代码:
super.onPause();
AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] a = manager.getAppWidgetIds(new ComponentName(this, "WidgetProvider"));
new WidgetProvider().onUpdate(this, manager, a);
但是,当我调用此代码时,a
为空。我做错了什么?
答案 0 :(得分:6)
我使用此代码更新我的AppWidget:
AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] a = manager.getAppWidgetIds(new ComponentName("my.pkg", "WidgetProvider"));
List<AppWidgetProviderInfo> b = manager.getInstalledProviders();
for (AppWidgetProviderInfo i : b) {
if (i.provider.getPackageName().endsWith("pkg")) {
a = manager.getAppWidgetIds(i.provider);
}
}
new WidgetProvider().onUpdate(this, manager, a);