我有一个网页,其中的位置在web浏览器中成功检测到。根据位置我的结果被过滤掉。我在android应用程序的webview中运行相同的网站网址。但在Android应用程序,位置检测JavaScript不工作。有什么建议在这里做什么?Android webview位置检测javascript
在此先感谢。
我有一个网页,其中的位置在web浏览器中成功检测到。根据位置我的结果被过滤掉。我在android应用程序的webview中运行相同的网站网址。但在Android应用程序,位置检测JavaScript不工作。有什么建议在这里做什么?Android webview位置检测javascript
在此先感谢。
您应该为web视图启用javascript。
要做到这一点,
wv = (WebView) findViewById(R.id.web_view);
wv.getSettings().setJavascriptEnabled(true);
只有一个问题:是否在Android浏览器(不是在Android的WebView)的位置检测JS工作?
一件事是尝试以下内容添加到您的清单文件:
<manifest ... >
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
...
</manifest>
二是setJavaScriptEnabled(真)在你的网页视图。我只注意到有人在下面回答了这个问题
在这里阅读更多:http://developer.android.com/guide/topics/location/obtaining-user-location.html
做好以上仍然没有为我工作,但增加了一些额外的代码做了 - 看Android Webview Geolocation
添加以下到我的WebView对象
// enable geolocationEnabled
webview.getSettings().setGeolocationEnabled(true);
// enable JavaScriptCanOpenWindowsAutomatically, not sure if this is needed
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
// set setWebChromeClient
webview.setWebChromeClient(new WebChromeClient() {
public void onGeolocationPermissionsShowPrompt(String origin, android.webkit.GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});
由于某些原因,android.webkit.GeolocationPermissions.Callback
必须是完全限定的className,在将其添加为导入后,它仍未被Eclipse IDE识别。
你为web浏览器启用了javascript吗? – Enigma 2012-02-24 07:01:59