我可以在 Android 浏览器中仅使用 javascript 启动意向吗?

Can I launch an intent using only javascript in an Android browser?

提问人:PhDJ 提问时间:3/5/2013 最后编辑:CommunityPhDJ 更新时间:12/10/2013 访问量:11586

问:

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

我想做同样的事情,但使用地图应用程序而不是在浏览器中显示它。

当我使用:

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

这很好用,但没有向我显示路线。

我从中读到的内容: Android Google Directions Service 原生可用吗? 带有包装器框架?有公共交通/自行车路线吗?

应该可以使用以下代码:

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-intent 地图

评论


答:

-1赞 Anand 3/5/2013 #1

只需简单地将函数从 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

评论

1赞 Nate 6/17/2013
提供的链接仅显示了如何使 Java API 可用于在自定义 Android 应用程序内的 WebView 中运行的 JavaScript,但问题是询问如何从浏览器中运行的 JavaScript 启动 intent。不幸的是,这并不能真正回答这个问题。
3赞 Thrakbad 3/5/2013 #2

Android 能够在浏览器中检测指向 Google 地图的链接,并将其重定向到本机 Google 地图应用(如果设置为默认应用)。但是,没有办法强制用户使用谷歌地图应用。点击链接还可以向他显示活动选择器或在浏览器中打开 Google 地图。它还可能打开注册以处理相同 .您发布的代码片段也将完全按照此方式运行。IntentIntent

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

评论

0赞 Boris Treukhov 12/11/2015
我不同意 JavaScript 部分,因为有时如果未安装应用程序,您需要有一个回退,因此用户应该能够通过网站的移动版本执行所需的操作。