第一步:添加权限: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时候被废弃使用)
本文详细介绍如何在Android应用中为WebView配置地理定位权限,包括动态权限请求、Web设置及地理定位数据库路径设置,确保应用在Android6.0及以上版本正常获取地理位置。
2810

被折叠的 条评论
为什么被折叠?



