有幾個類似的帖子,但我找不到確切的一個。基本上,我想以相同的意圖打開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