Android WebView navigator.getCurrentPosition问题

时间:2018-06-21 14:15:46

标签: android webview geolocation

尝试在网页视图中加载代码为navigator.getCurrentPosition

的JS页面

a)对于Android应用程序的Chrome浏览器中的相同代码,我看到一个弹出窗口

enter image description here

如果用户允许,则通过设置自动打开位置。但是在Webview中加载JS页面时,看不到弹出窗口来打开位置。

已经给出了:

 webview.setWebChromeClient(new WebChromeClient() {
            public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
                // callback.invoke(String origin, boolean allow, boolean remember);
                callback.invoke(origin, true, true);
            }
}

1 个答案:

答案 0 :(得分:1)

我找到了问题的答案,就这样。

基本上,对于Google chrome移动应用程序,通过拦截onGeolocationPermissionsShowPrompt向用户显示位置设置选项。

确保在位置信息设置成功后传递的回调是callback.invoke(origin,true,false);失败是callback.invoke(origin,false,false);

https://developer.android.com/training/location/change-location-settings中提到的所有样板都写在onGeolocationPermissionsShowPrompt本身的回调中。

我注意到,甚至其他浏览器应用程序(例如firefox)都没有做到这一点。