能,但有一定条件和限制。
可以。WebView 支持通过 HTML5 的 Geolocation API(navigator.geolocation)获取位置,但必须满足以下条件:
必须在 AndroidManifest.xml 中声明权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
如果是 Android 6.0+,还需要 运行时申请权限。
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setGeolocationEnabled(true);
// 指定地理位置数据库路径(旧版本需要)
webView.getSettings().setGeolocationDatabasePath(getFilesDir().getPath());
网页中使用:
navigator.geolocation.getCurrentPosition(success, error);
用户必须 点击允许。
setGeolocationEnabled| 项目 | 系统浏览器 | WebView |
|---|---|---|
| 默认定位 | ✅ 支持 | ⚠️ 需配置 |
| 权限 | 系统处理 | App 处理 |
| HTTPS | 建议 | 强制(高版本) |
Android WebView 可以定位,但必须:开权限 + 开设置 + HTTPS + 用户允许。
如果你需要,我可以给你一个 完整可用的 WebView 定位 Demo(Java / Kotlin)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。