WebView 中加载HTML5怎么不能定位呢?

时间:2022-11-22 15:00:28
RT, WebView 中加载HTML5怎么不能定位呢? 网上找了几个也没有好用的

WebView 中加载HTML5怎么不能定位呢?

8 个解决方案

#1


怎么没有回复的呢?

#2


权限加了吗?

#3


引用 2 楼 liudashao0 的回复:
权限加了吗?

加权限啦

#4


有可能是你用来测试的手机的gsm被修改了,换一个手机试试。至于浏览器支持,我猜测是浏览器在开发的时候封装了其他地图定位功能进去。

#5


解决了没,我也在纠结着呢

#6


你们谁解决了啊,我现在遇见了

#7


我现在也遇到了这样的问题!WebView加载H5的页面,然后页面自己定位,有的手机定位没问题,但有的手机例如华为的手机定位就是失败!感觉好坑啊!

#8


//启用数据库  
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" />

#1


怎么没有回复的呢?

#2


权限加了吗?

#3


引用 2 楼 liudashao0 的回复:
权限加了吗?

加权限啦

#4


有可能是你用来测试的手机的gsm被修改了,换一个手机试试。至于浏览器支持,我猜测是浏览器在开发的时候封装了其他地图定位功能进去。

#5


解决了没,我也在纠结着呢

#6


你们谁解决了啊,我现在遇见了

#7


我现在也遇到了这样的问题!WebView加载H5的页面,然后页面自己定位,有的手机定位没问题,但有的手机例如华为的手机定位就是失败!感觉好坑啊!

#8


//启用数据库  
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" />