Я только что столкнулся с проблемой, которую не мог решить сам, и должен спросить большое сообщество :) Извините за мой Engli sh, и позвольте мне описать задачу. В моем приложении мне нужно открыть приложение для внешних карт, такое как Google Maps, Waze, 2 GIS et c. с маршрутом от источника «A» к месту назначения «B».
Прежде всего, я исследовал Google Maps Intents для Android и нашел все, кроме того, которое мне нужно. Ближайшее намерение выглядит как google.navigation: q = a + улица + адрес , оно работает хорошо и дает мне выбор среди всех установленных навигационных приложений. Но это не совсем мне нужно, просто переход от текущего местоположения к указанному адресу.
Далее я попытался использовать другой способ, например:
`private val mapsUriPrefix: String = "https://maps.google.com/maps?"
private val sourcePrefix: String = "saddr="
private val destinationPrefix: String = "&daddr="
private val spaceChar: String = " "
val navigationRoute = mapsUriPrefix
.plus(sourcePrefix)
.plus(addressFrom)
.plus(destinationPrefix)
.plus(addressTo)
val mapIntent = Intent(Intent.ACTION_VIEW)
mapIntent.data = Uri.parse(navigationRoute)
mapIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(mContext, mapIntent, null)`
, и этот код делает именно то, что Мне нужно, но я не могу выбрать приложение для навигации - открываются только Карты Google (с маршрутом) или веб-браузер, если Карты Google не установлены. Надеюсь, я полностью описал свою боль и прошу любой помощи или совета. Заранее спасибо!