Android 网络视图 navigator.getCurrentPosition 问题
Android WebView navigator.getCurrentPosition issues
正在尝试在具有代码的 webview 中加载 JS 页面:navigator.getCurrentPosition
a) 对于 android 应用的 chrome 浏览器中的相同代码,我看到一个弹出窗口
在用户允许的情况下自动从设置中打开定位。但是当在 webview 中加载 JS 页面时,我没有看到弹出 window 来打开位置。
已经给出:
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);
}
}
我找到了问题的答案,给你。
基本上 Google chrome 移动应用程序通过拦截 onGeolocationPermissionsShowPrompt 向用户显示位置设置选项。
确保位置设置成功时传递的回调是callback.invoke(origin, true, false);失败是 callback.invoke(origin, false, false);
https://developer.android.com/training/location/change-location-settings中提到的所有样板都写在回调 onGeolocationPermissionsShowPrompt 本身中。
我注意到其他浏览器应用程序(如 firefox)甚至没有做到这一点。
正在尝试在具有代码的 webview 中加载 JS 页面:navigator.getCurrentPosition
a) 对于 android 应用的 chrome 浏览器中的相同代码,我看到一个弹出窗口
在用户允许的情况下自动从设置中打开定位。但是当在 webview 中加载 JS 页面时,我没有看到弹出 window 来打开位置。
已经给出:
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);
}
}
我找到了问题的答案,给你。
基本上 Google chrome 移动应用程序通过拦截 onGeolocationPermissionsShowPrompt 向用户显示位置设置选项。
确保位置设置成功时传递的回调是callback.invoke(origin, true, false);失败是 callback.invoke(origin, false, false);
https://developer.android.com/training/location/change-location-settings中提到的所有样板都写在回调 onGeolocationPermissionsShowPrompt 本身中。
我注意到其他浏览器应用程序(如 firefox)甚至没有做到这一点。