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 に答える