如何在 Google 地图应用中强制/中断/更新路线导航?

0 android google-maps google-maps-api-3 ios

假设我的应用启动了 Google 地图应用以提供精细导航。在某些时候,我的应用程序需要修改/更新用户的路线,因此我使用一组更新的参数重新启动 Google 地图应用程序。

谷歌地图为用户提供了一个无声的、短暂的超时弹出窗口:

您正在导航路线

停止导航这条路线?

取消/是,停止

并默认为取消。

这对我/用户来说相当混乱,因为我希望用户点击“是,停止”但谁会选择停止?...而且没有停止......选择“停止”时只会重新计算路线。

是否有 uri 参数可以强制 Google 地图应用程序“是,停止”并继续新路线?

我理解弹出“功能”的“意图”,但同时应该有一种简单的方法来绕过它......即。启动的应用程序.. 可以更新.. 或密钥 ID X 的路由可以通过密钥 ID X 等的新路由更新......

那么有没有人知道或者这只是另一种情况,一旦我开始进入谷歌地图的兔子洞,我就不能停下来,直到我触底?

小智 5

您可以做的是重新启动 Intent 以导航和销毁之前的 Intent 堆栈:

Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
mapIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
Run Code Online (Sandbox Code Playgroud)

这将导致导航的先前状态被破坏以有利于新的状态。您甚至不会被要求中断之前的导航。