Нашел ответ! Нейроночка, миленькая помогла). Существует соответственный метод для фильтрации
Метод для получения списка и фильтрации:
fun getPackages(packageManager: PackageManager) {
// Получение списка всех установленных пакетов
val allPackages = packageManager.getInstalledPackages(PackageManager.GET_META_DATA)
// Фильтрация списка пакетов
val filteredPackages = allPackages.filter { packageInfo ->
packageManager.getLaunchIntentForPackage(packageInfo.packageName) != null
}
// Отображение списка пакетов
for (packageInfo in filteredPackages) {
Log.d("Attempt", "Название пакета: ${packageInfo.packageName}")
}
Log.d("Attempt", filteredPackages.size.toString())
}
Он мне вернул 35 приложений, которые можно открыть. На рабочем столе у меня 32.
Надеюсь кому то пригодится при создании лаунчера.