富国沪深
必须在WebView使用中启用JavaScriptWebSettings.setJavaScriptEnabled(true);该应用需要许可 ACCESS_FINE_LOCATION在WebView必须使用自定义WebChromeClient它实现WebChromeClient.onGeolocationPermissionsShowPrompt()。该方法被调用WebView以获得向JavaScript公开用户位置的许可。(对于浏览器,我们向用户显示提示。)默认实现不执行任何操作,因此永远不会获得权限,并且该位置永远不会传递给JavaScript。一个总是授予权限的简单实现是......webView.setWebChromeClient(new WebChromeClient() {
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}});地理定位使用数据库在会话之间保留缓存的位置和权限。使用设置数据库的位置WebSettings.setGeolocationDatabasePath(...)。如果未设置数据库的位置,则永久存储将不可用,但Geolocation将继续正常运行。要设置数据库的位置,请使用...webView.getSettings().setGeolocationDatabasePath( context.getFilesDir().getPath() );