1

当我的主要活动暂停时,我需要更新我的 AppWidget。我尝试在主要活动的 onPause() 中使用以下代码:

super.onPause();
AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] a = manager.getAppWidgetIds(new ComponentName(this, "WidgetProvider"));
new WidgetProvider().onUpdate(this, manager, a);

但是,当我调用此代码时,a它是空的。我究竟做错了什么?

4

1 回答 1

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);
于 2010-08-19T15:42:01.617 回答