2013-03-05 81 views
2

我有一个html页面,显示从当前位置到某个地址的路线。我可以在Android浏览器中只使用JavaScript来启动一个intent吗?

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

当我使用:

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

这工作正常,但不告诉我的路线。

我从这个阅读:

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:Android Google Directions Service usable natively? with wrapper framework? Public transit/biking directions available?

应该使用此代码是可能的吗?

回答

3

Android是能够检测浏览器链接到谷歌地图和重定向Intent到自带谷歌地图应用,如果它被设置为默认应用程序。但是,无法强制用户使用Google地图应用。点击链接也可以向他展示活动选择器或在浏览器中打开Goog​​le地图。它也可能会打开一个注册的第三方应用程序,以处理相同的Intent。您发布的代码片段的行为也完全如此。

这不仅适用于浏览器,还适用于系统中的所有链接。例如,我将通过电子邮件发布的链接发送给自己,并在我的手机上点击它。我可以用我的Goolge地图应用打开它。所以实际上不需要JavaScript,你可以使用简单的HTML链接发送Intent

+0

我对JavaScript部分持不同意见,因为如果应用程序未安装,有时您需要回退,因此用户应该能够通过移动版本的站点执行所需的操作。 – 2015-12-11 14:16:35

-1

只需简单地从JavaScript调用函数到Android,并在函数内部,您可以调用Android意图。

你可以找到教程如何从JavaScript调用Android的功能:

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

,并呼吁使用谷歌V3库中的地图。

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

+0

提供的链接仅显示如何让Java API在自定义Android应用程序内的WebView中运行的JavaScript可用,但问题是如何从浏览器中运行的JavaScript启动意图。不幸的是,这并没有真正回答这个问题。 – Nate 2013-06-17 15:51:45

相关问题