AppWidgetManager.getInstalledProviders () не возвращает все установленные виджеты - PullRequest
0 голосов
/ 16 февраля 2020

Я использую следующий код для возврата всех доступных (установленных) виджетов. Но это не возвращает их всех. В моем случае он возвращает 47 виджетов, в то время как в стандартной программе запуска есть 73 виджета.

AppWidgetManager mAppWidgetManager = AppWidgetManager.getInstance(getApplicationContext());
List<AppWidgetProviderInfo> infoList = mAppWidgetManager.getInstalledProviders();

for (AppWidgetProviderInfo info : infoList) {

}

1 Ответ

1 голос
/ 16 февраля 2020

Благодаря помощи @ CommonsWare эти дополнения не являются виджетами, они являются ярлыками для действий, которые выбираются с использованием следующего кода.

Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT);
List<ResolveInfo> shortcuts = getPackageManager().queryIntentActivities(shortcutsIntent, 0);
...