關於Android webview中無法定位的解決
阿新 • • 發佈:2018-12-14
最近專案新加了h5,在h5中呼叫高德地圖api進行定位,但是點進去後定位資訊一直獲取失敗,網上找資料,基本都是這樣:
1.許可權
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
2.webchromeclient配置:
private class MyWbChromeClient extends WebChromeClient { @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); super.onGeolocationPermissionsShowPrompt(origin, callback); }
3.webview以及websettings配置:
wv_content.getSettings().setJavaScriptEnabled(true); wv_content.getSettings().setUseWideViewPort(true); wv_content.getSettings().setLoadWithOverviewMode(true); wv_content.getSettings().setDatabaseEnabled(true); String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); wv_content.getSettings().setGeolocationDatabasePath(dir); wv_content.getSettings().setDomStorageEnabled(true); // 開啟 Application Caches 功能 wv_content.getSettings().setAppCacheEnabled(true);
但是我這樣操作完之後還是不能定位,最後將targetsdkversion從27改成23即可定位