Как включить геолокацию в Android WebView - PullRequest
0 голосов
/ 04 мая 2020

У меня проблема с включением геолокации в Android WebView для сайта https://www.lightningmaps.org. Настройки для myWebViev:

WebSettings webSettings = myWebView.getSettings();
webSettings.setAppCacheEnabled(true);
webSettings.setAppCachePath(getActivity().getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath());
webSettings.setDatabaseEnabled(true);
String dir = getActivity().getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
webSettings.setDatabasePath(dir);
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setGeolocationEnabled(true);

myWebView.setWebChromeClient(new GeoWebChromeClient());

public class GeoWebChromeClient extends android.webkit.WebChromeClient {
    @Override
    public void onGeolocationPermissionsShowPrompt(String origin,
                android.webkit.GeolocationPermissions.Callback callback) {
        // Always grant permission since the app itself requires location
        // permission and the user has therefore already granted it
        callback.invoke(origin, true, false);
    }
}

Где совершить ошибку?

Другие сайты, использующие геолокацию, например google.com/maps, также не могут прочитать устройство геолокации.

...