我有一个用于跨平台支持的HTML5 / jquery-mobile应用程序。我有Android的WebView和iOS,UIWebView指向我的网站。我需要地理定位服务,您可以使用WebView ChromeClient将设备权限从Android传递到网络应用。
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback){
callback.invoke(origin, true, false);
}
});
在iOS中没有这样的东西。每次我使用该应用程序时,我都会从iOS应用程序和Web应用程序中获得两个权限请求对话框。我不使用phonegap / cordova,也不需要它们。这个问题困扰了我几个星期,其他所有遇到此问题的人都使用phonegap / cordova。
navigator.geolocation.getCurrentPosition(function(position){
// geolocation logic
}
非常感谢任何帮助。
答案 0 :(得分:1)
您无法在UIWebView AFAIK中避免该警报。您可以使用iOS位置API获取当前位置并将其传递到网页。有很多方法可以做到这一点: