嗨,我没有在我的 java 脚本函数中获取位置,在 android web 视图中打开相同的代码在 android 浏览器中打开它时获取位置
_webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
_webview.getSettings().setAppCacheEnabled(true);
_webview.getSettings().setDatabaseEnabled(true);
_webview.getSettings().setDomStorageEnabled(true);
// _webview.getSettings().setGeolocationEnabled(true);
_webview.setWebViewClient(new GeoWebViewClient());
_webview.getSettings().setJavaScriptEnabled(true);
_webview.getSettings().setGeolocationEnabled(true);
// _webview.setWebChromeClient(new GeoWebChromeClient());
Log.i("onPageStarted", "Processing webview url click..."+this.getApplicationContext().getDir("database",
Context.MODE_PRIVATE).getPath());
_webview.getSettings().setGeolocationDatabasePath( "/data/data/" +this.getClass().getPackage().getName() + "/app_database/");
_webview.setWebChromeClient(new WebChromeClient() {
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});
_webview.loadUrl("file:///android_asset/www/hello.html");
这些是我在清单中给出的权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>