有几个类似的帖子,但我找不到确切的一个。基本上,我想以相同的意图打开Google地图和Waze。起初,我试过这个:Android意图打开Waze和谷歌地图
final String uri = String.format(Locale.ENGLISH, "geo:%f,%f", latitude, longitude);
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);
Waze直接导航到正确的位置和谷歌地图打开正确的地方。那么我意识到Google地图不会在地点上放置一个针,所以用户很难知道它的确切位置。所以,我环顾四周,意识到谷歌地图需要“?Q = ..(标签)”为...我改变了URI建设:
final String uri = String.format(Locale.ENGLISH, "geo:%f,%f?q=%f,%f (%s)", latitude, longitude, latitude, longitude, name);
但随后的Waze做了两件事情:导航到正确的位置并在标签上运行搜索。这要求用户点击后退按钮关闭搜索结果屏幕,并保持导航到正确的位置。
我到处寻找答案,但没有找到解决方案,将实现两个。 起初我以为这是不可能的,而Waze有一个bug ......但后来我注意到Facebook Messenger正在做我想要的东西。当点击带有位置的邮件时,它将打开两个应用程序:Google地图将有一个别针(带有标签),Waze将直接导航到该位置而不运行搜索。
关于上述问题的几个问题: 1.(当然)我怎样才能做到这一点? 2.我怎么知道Facebook Messenger的意图是如何构建的? (无论如何我可以捕捉它) 3.只有“?q = ..”的标签背后的原因是什么?
谢谢
您可以发布要求用户在Waze和Google Maps之间进行选择的代码吗? – 2015-07-16 23:07:53