gpt4 book ai didi

用于打开 Waze 和 Google map 的 Android Intent

转载 作者:IT老高 更新时间:2023-10-28 23:32:19 27 4
gpt4 key购买 nike

有一些类似的帖子,但我找不到确切的帖子。基本上,我想以相同的 Intent 打开谷歌地图和 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 map 打开了正确的位置。然后我意识到谷歌地图并没有在位置上放一个大头针,所以用户很难知道它的确切位置。所以我环顾四周,意识到谷歌地图需要“?q = ..(标签)”...我将 uri 结构更改为:

final String uri = String.format(Locale.ENGLISH, "geo:%f,%f?q=%f,%f (%s)", latitude, longitude, latitude, longitude, name);

但是 Waze 做了两件事:导航到正确的位置并在标签上运行搜索。这要求用户单击返回按钮以关闭搜索结果屏幕并保持导航到正确的位置。

我到处寻找答案,但未能找到同时实现两者的解决方案。起初我认为这是不可能的,而且 Waze 有一个错误……但后来我注意到 Facebook Messenger 正在做我想做的事。单击带有位置的消息时,它将打开两个应用程序:Google map 将有一个图钉(带有标签),而 Waze 将直接导航到该位置而无需运行搜索。

关于上述的几个问题:1.(当然)我怎样才能做到这一点?2. 我如何知道 Facebook Messenger 的 Intent 是如何构建的? (无论如何我可以捕获它)3. 标签只有“?q=..”的原因是什么?

谢谢

最佳答案

没关系。我能够使用以下应用拦截 Facebook Messenger,并认为 URI 应如下所示:

String.format(Locale.ENGLISH, "geo:0,0?q=") + android.net.Uri.encode(String.format("%s@%f,%f", label, latitude, longitude), "UTF-8");

应用程序: https://play.google.com/store/apps/details?id=uk.co.ashtonbrsc.android.intentintercept&feature=search_result#?t=W251bGwsMSwyLDEsInVrLmNvLmFzaHRvbmJyc2MuYW5kcm9pZC5pbnRlbnRpbnRlcmNlcHQiXQ ..

谢谢

关于用于打开 Waze 和 Google map 的 Android Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25662853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com