【问题标题】:How do I handle an intent URI like this in Android?如何在 Android 中处理这样的意图 URI?
【发布时间】:2025-11-30 01:50:01
【问题描述】:

这是 URI:

intent://maps.google.com/maps?client=javelin&um=1&ie=UTF-8&q=Conrad+Centennial+Singapore+Hotel&fb=1&hq=Conrad+Centennial+Singapore+Hotel&hnear=Conrad+Centennial+Singapore+Hotel&entry =s&ll=1.293491,103.858673&z=15&cid=16931588425096815987&sa=X&ei=jvRbU-z8J83xiAeEhYCABA&ved=0CDwQ_BI#Intent;scheme=http;package=com.google.android.apps.maps;end

这是我在移动浏览器上单击它时得到的 URL。

我想不知道具体如何通过意图打开谷歌地图。相反,我如何处理以intent:// 开头的格式的URI

【问题讨论】:

  • 我想不知道具体如何通过意图打开谷歌地图。相反,我如何处理以 intent:// 开头的格式的 URI

标签: android android-intent


【解决方案1】:

如何处理格式以 intent:// 开头的 URI:

所有 Android 应用都会自动“处理格式以 intent:// 开头的 URI”。

此 URL 将被Intent.parseUri() 解析并由系统与startActivity() 一起使用。在这种情况下,它将显示带有Urihttp://maps.google.com/maps?client=javelin&um=1&ie=UTF-8&q=Conrad+Centennial+Singapore+Hotel&fb=1&hq=Conrad+Centennial+Singapore+Hotel&hnear=Conrad+Centennial+Singapore+Hotel&entry=s&ll=1.293491,103.858673&z=15&cid=16931588425096815987&sa=X&ei=jvRbU-z8J83xiAeEhYCABA&ved=0CDwQ_BI 的Google Maps (package=com.google.android.maps)(原始方案之后到片段标记的所有内容,根据scheme=http 指令将方案替换为http )。

您可以通过Intent 上的toUri() 方法创建这样的intent:// URL。创建一个 Intent 来满足您的需求,然后在其上调用 toUri() 以生成适当的 URL。

不幸的是,构建此类 URL 的大部分逻辑都没有记录。

【讨论】: