我有一個網頁,其中的位置在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