第一步:添加权限:Android6.0以上通过动态形式获取
第二步:添加webview settings()配置
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setDomStorageEnabled(true);
String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); webView.getSettings().setGeolocationDatabasePath(dir);// 设置定位的数据库路径 webView.getSettings().setGeolocationEnabled(true);// 启用地理
//配置权限 webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedIcon(WebView view, Bitmap icon) { super.onReceivedIcon(view, icon); } @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); } });
第三步:修改targetSDKVersion = 23(原因:setGeolocationDatabasePath() 似乎在24时候被废弃使用)