Android · 2014年10月19日 0

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

我也遇到了同样的问题,我查看了下源码解决了,主要代码如下:
//启用数据库  
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" />

Share this: