假设我的应用启动Google地图应用以提供精细导航。在某些时候,我的应用需要修改/更新用户的路线,因此我使用更新的参数集重新启动Google地图应用。
Google地图为用户提供了一个无声,短暂的超时弹出窗口:
您正在浏览路线
停止导航此路线?
取消/是,停止
并默认为取消。
这对我/用户来说相当混乱,因为我希望用户点击“是,停止”,但是谁会选择停止?...并且没有停止......选择“只需重新计算路线”停止”。
是否有uri参数强制Google地图应用“YES,STOP”并继续使用新路线?
我理解弹出“功能”的“意图”,但同时应该有一种简单的方法来绕过它...即。启动的应用..可以更新..或带有密钥ID的路由X可以通过密钥ID为X的新路由更新...
所以有人知道或者这只是我开始使用谷歌地图兔子洞的另一个案例,我不能停止'直到我触底?
答案 0 :(得分:4)
你可以做的是重新启动导航和销毁之前意图的堆栈的意图:
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);
这将导致导航的先前状态被破坏而有利于新导航状态。你甚至不会被要求打断以前的导航。