关于android webview里HTML5的地理位置定位,在别的浏览器中打开可以定位,在我自己的webview却不能 android通过webview访问通过Html5定位的we...

\u5173\u4e8eandroid webview\u91ccHTML5\u7684\u5730\u7406\u4f4d\u7f6e\u5b9a\u4f4d\uff0c\u5728\u522b

\u5c31\u662f\u628awebview\u52a0\u5230\u8fd9\u4e2aapp\u4e2d,\u5b9a\u5411\u8bbf\u95ee\u4e00\u4e2a\u7ad9\u70b9,\u5176\u4e2d\u7684\u4e00\u4e2a\u9875\u9762,\u6709\u767e\u5ea6\u5730\u56fe,\u65e0\u6cd5GPS\u5b9a\u4f4d\u7684\u6743\u9650,\u6240\u4ee5\u6211\u60f3,\u662f\u4e0d\u662f\u8981\u81ea\u5df1\u5199\u4ec0\u4e48\u65b9\u6cd5\u624b\u52a8\u7684\u8c03\u7528\u5b9a\u4f4d\u529f\u80fd\u5462,\u8be5\u600e\u4e48\u5173\u4e8eandroid webview\u91ccHTML5\u7684\u5730\u7406\u4f4d\u7f6e\u5b9a\u4f4d\uff0c\u5728\u522b

\u770b\u4e00\u4e0b\uff0c\u624b\u673a\u8bbe\u7f6e\uff0c\u6709\u65f6\u5019\u5bfb\u4e0d\u5230\u661f\uff0c\u5c31\u83b7\u5f97\u4e0d\u4e86\u7ecf\u7eac\u5ea6\u3002

我也遇到了同样的问题,我查看了下源码解决了,主要代码如下:
//启用数据库
webSettings.setDatabaseEnabled(true);
String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();

//启用地理定位
webSettings.setGeolocationEnabled(true);
//设置定位的数据库路径
webSettings.setGeolocationDatabasePath(dir);

//最重要的方法,一定要设置,这就是出不来的主要原因

webSettings.setDomStorageEnabled(true)

//配置权限(同样在WebChromeClient中实现)
public void onGeolocationPermissionsShowPrompt(String origin,
GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
super.onGeolocationPermissionsShowPrompt(origin, callback);
}
配置权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

参考实现:网页链接



到底是不同的浏览器还是不同的页面?

扩展阅读:android苹果版下载 ... download android version ... 国产xboxone ... android webview 75 ... android webview apk ... android webview 秒开 ... android webview更新 ... 苹果android在哪里找 ... android system webview ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网