getInstalledPackages() для нескольких пользователей Android

Я хочу получить список всех приложений, установленных на моем устройстве. Мой код ниже: PackageManager pm = getApplicationContext().getPackageManager(); List<PackageInfo> list = pm.getInstalledPackages(0);

Когда я пытаюсь зарегистрировать нескольких пользователей на своем устройстве (например, Android for Work), API возвращает список из того же пользовательского пространства/управляемого профиля, что имеет смысл.

Мой вопрос: есть ли возможность получить список всех приложений с устройства (например, «Настройки» — «Приложения» — «Все приложения»), независимо от того, где приложение установлено?


person Song    schedule 26.02.2016    source источник
comment
Это звучит как нарушение песочницы пользовательского пространства.   -  person Doug Stevenson    schedule 26.02.2016
comment
@DougStevenson Спасибо за ваш ответ. Да, я согласен с вами. Для системных настроек все страницы приложений основаны ли они на частном API?   -  person Song    schedule 26.02.2016


Ответы (1)


Используйте LauncherApps (только приложения могут отображаться в панели запуска), вы можете увидеть, как Launcher3 использует его https://developer.android.com/reference/android/content/pm/LauncherApps.html

person Rikka    schedule 23.03.2017