开始新的导航而不退出谷歌地图中的先前导航

Posted

技术标签:

【中文标题】开始新的导航而不退出谷歌地图中的先前导航【英文标题】:Start new navigation without exiting from previous navigation in Google Map 【发布时间】:2018-01-27 09:05:32 【问题描述】:

我正在从我的应用程序中启动 Google 地图,以导航用户到某个位置。

这是我的代码

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
                Uri.parse("google.navigation:q=" + rideDetailsModel.getEndLatitude() + "," + rideDetailsModel.getEndLongtitude()));
        startActivity(intent);

我正在使用 Chat Head(例如 Uber 司机应用)从 Google 地图返回我的应用程序。这工作正常。问题是,当我调用上面相同的代码时,谷歌地图要求我退出之前的导航。因为之前的导航没有清除。

如何强制 Google Map 创建新导航而不要求关闭前一个导航。

两种方法可以解决我的问题。

方法一

如果我可以从我的应用程序中关闭 Google 地图应用程序,我的问题就解决了。但是我查了很多,非root手机杀不了其他应用。

方法二

清除以前的导航并创建新的导航。所以 Google 地图 在开始新的导航之前不会要求用户退出之前的导航。

【问题讨论】:

如果事实证明有办法做到这一点,我会感到失望,因为作为用户,如果我的当前/以前的导航路线未经我的批准被删除,我当然不会高兴。 假设你是一个超级司机。对于每次骑行,您都必须手动退出以前的导航才能为新导航加注星标。@azizbekian 我理解你的用例,这是有道理的。但是,如果谷歌会提供这样一个 API 来与谷歌地图应用程序交互,那么开发人员就会滥用它,从而使用户受苦。这就是我之前评论的重点。 好点。感谢您的宝贵时间。 我收到了新信息。在超级司机应用程序中,我的确切要求在那里。优步是如何让这成为可能的。你有什么主意吗。 @azizbekian 【参考方案1】:

方法3:(只需清除意图标志即可)

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

【讨论】:

以上是关于开始新的导航而不退出谷歌地图中的先前导航的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 中的谷歌地图导航

以图片和图片模式打开谷歌地图导航

意图在谷歌地图上直接转弯导航以及交通方式

导航抽屉中的谷歌地图 - 空指针异常,哪个是正确的片段?

如何在ArcMap里面加载天地图

如何将 iOS 中的谷歌地图导航集成到我们的应用程序中? [复制]