при этих двух вариантах я получаю
1 -> ТЕКУЩИЙ + ТОЛЬКО системные пакеты и приложения и НИЧЕГО из сторонних приложений
2 -> Получаю только ТЕКУЩее + ТОЛЬКО системные приложения аля ГуглСервисы и Настройки
Вопрос:
Может кто сталкивался с таким и знает как пофиксить?
Вариант 1:
val packageManager = requireContext().packageManager
val packageInfos = packageManager.getInstalledPackages(0)
Вариант 2:
val mainIntent = Intent(Intent.ACTION_MAIN, null)
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER)
val mApps: List<ResolveInfo> = packageManager.queryIntentActivities(mainIntent, 0)
Вроде пермишен для этого нужен.
а в манифесте запросил пермишн?
Ты про него? <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
Вроде оно. Но, как Сергей заметил, эту лавочку прикрывают.
@inthecornersc и @PSA_98Serg можете подсказать какой из вариантов предпочтительнее для использования?
Мне 1й нравится. Там меньше букв.
В целом мы фильтруем их конечно, но первый вариант выплюнет тебе сотни элементов, а второй еденицы... Других различий я пока не заметил 🤔
ну это ж разные наборы. второй это у чего лаунчеры есть. Можно написать приложение без единой активности - в списке приложений на экране его не будет, а в списке занимающих память его видно
Предупреждать надо ))) Если нужно фильтровать по лончерам ))
Обсуждают сегодня