【问题标题】:Can I launch an intent using only javascript in an Android browser?我可以在 Android 浏览器中仅使用 javascript 启动意图吗?
【发布时间】:2013-03-05 14:09:31
【问题描述】:

我有一个 html 页面,显示从当前位置到某个地址的路线。

我也想这样做,但使用地图应用而不是在浏览器中显示。

当我使用时:

<script>
    document.location = "geo:0,0?q=myaddress";
</script>

效果很好,但没有显示路线。

我从中读到的内容:Android Google Directions Service usable natively? with wrapper framework? Public transit/biking directions available?

应该可以使用这个代码:

String url = "http://maps.google.com/maps?saddr=some+address&daddr=another+Address"
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,  Uri.parse(url));

我可以只使用 javascript 做同样的事情吗?

【问题讨论】:

    标签: javascript android android-intent maps


    【解决方案1】:

    Android 能够在浏览器中检测到 Google 地图的链接,并将 Intent 重定向到本机 Google 地图应用(如果它被设置为默认应用)。但是,没有办法强制用户使用 Google 地图应用程序。单击该链接还可以向他显示活动选择器或在浏览器中打开 Google 地图。它还可能会打开一个注册为处理相同Intent 的第三方应用程序。您发布的代码 sn-p 的行为也会完全一样。

    这不仅适用于浏览器,还适用于系统中的所有链接。例如,我将您通过电子邮件发布的链接发送给我自己,然后在我的手机上单击它。我可以用我的 Goolge Maps 应用程序打开它。所以真的不需要JavaScript,你可以用一个简单的HTML链接发送Intent

    【讨论】:

    • 我不同意 JavaScript 部分,因为有时您需要在未安装应用程序的情况下进行后备,因此用户应该能够通过网站的移动版本执行所需的操作。
    【解决方案2】:

    只需简单地从 JavaScript 调用函数到 Android ,在函数内部你就可以调用 android Intent。

    您可以找到如何从 JavaScript 调用 android 函数的教程:

    http://android-er.blogspot.in/2011/10/call-javascript-inside-webview-from.html

    并使用 Google V3 库调用地图。

    https://developers.google.com/maps/articles/android_v3

    【讨论】:

    • 提供的链接仅显示如何使 Java API 可用于在自定义 Android 应用程序内的 WebView 中运行的 JavaScript,但问题是如何从浏览器中运行的 JavaScript 启动意图。不幸的是,这并不能真正回答问题。
    猜你喜欢
    • 2012-05-17
    • 1970-01-01
    • 2017-06-21
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2016-10-04
    相关资源
    最近更新 更多