2012-02-24 52 views
0

我有一個網頁,其中的位置在web瀏覽器中成功檢測到。根據位置我的結果被過濾掉。我在android應用程序的webview中運行相同的網站網址。但在Android應用程序,位置檢測JavaScript不工作。有什麼建議在這裏做什麼?Android webview位置檢測javascript

在此先感謝。

+0

你爲web瀏覽器啓用了javascript嗎? – Enigma 2012-02-24 07:01:59

回答

1

您應該爲web視圖啓用javascript。

要做到這一點,

wv = (WebView) findViewById(R.id.web_view); 
wv.getSettings().setJavascriptEnabled(true); 
1

只有一個問題:是否在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

2

做好以上仍然沒有爲我工作,但增加了一些額外的代碼做了 - 看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識別。