外部アプリでナビゲーションを開始する方法があります。Googleマップとsygicでうまく機能する方法。しかし、ユーザーは Waze でもナビゲーションを開くことができると報告し始めましたが、インテント経由で転送されるデータはありません (そのため、Waze のメイン画面しか表示されません)。
waze を起動するための適切な uri を見つけましたが、他のオプションが失われます。
private fun startNavigation(lat: Double, lon: Double) {
val uri = "google.navigation:q=$lat,$lon" //google maps, sygic - ok, waze - fail
//val uri = "waze://?ll=$lat,$lon&navigate=yes" //waze only
//val uri = "google.navigation:q=$lat,$lon&ll=$lat,$lon&navigate=yes" //google maps, waze - ok, sygic - fail
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(uri)))
}
ここで何か足りない?考えられるすべてのアプリケーションをサポートするための普遍的なオプションはありますか?それとも、ほとんどの場合、自分で処理するカスタムボトムシートを作成する必要がありますか?