Why android intent chooser dialog show only two or three navigation apps if system has four? Intent chooser code:
val list = packageManager.queryIntentActivities(geoIntent, 0)
val intentList = arrayListOf<Intent>()
val packageList = list.filter { item -> navigationPackageList.contains(item.activityInfo.packageName) }
packageList.forEach { item ->
val packageName = item.activityInfo.packageName
val intent = Intent(Intent.ACTION_VIEW)
when(packageName) {
"com.google.android.apps.maps" -> {
intent.data = Uri.parse("google.navigation:q=${lat1},${lng1}")
intent.setPackage("com.google.android.apps.maps")
}
"ru.yandex.yandexnavi" -> {
intent.data = Uri.parse("yandexnavi://build_route_on_map?lat_from=${lat1}&lon_from=${lng1}&lat_to=${lat2}&lon_to=${lng2}")
intent.setPackage("ru.yandex.yandexnavi")
}
"ru.yandex.yandexmaps" -> {
intent.data = Uri.parse("yandexmaps://maps.yandex.ru/?rtext=${lat1},${lng1}~${lat2},${lng2}&rtt=mt")
}
"ru.dublgis.dgismobile" -> {
intent.data = Uri.parse("dgis://2gis.ru/routeSearch/rsType/car/to/${lng1},${lat1}")
}
}
intentList.add(intent)
}
val chooserIntent = Intent.createChooser(
intentList.last(),
chooserTitle
)
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentList.toTypedArray())
startActivity(chooserIntent)
When: Intent.createChooser(intentList.first(), chooserTitle)
shows two apps, but when Intent.createChooser(intentList.last(), chooserTitle)
shows three apps. How to show all navigation apps in intent chooser dialog?