Android Webview:navigator.geolocation API 不工作,抛出异常 POSITION_UNAVAILABLE。
创始人
2024-08-19 11:00:40
0

问题描述:

在Android WebView中使用navigator.geolocation API时,会抛出异常POSITION_UNAVAILABLE,导致无法获取地理位置信息。

解决方法:

  1. 确保应用已经获取了定位权限。在AndroidManifest.xml文件中添加以下权限:

  1. 在WebView加载网页之前,启用JavaScript和地理位置功能:
WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setGeolocationEnabled(true);
  1. 创建一个WebChromeClient并覆盖onGeolocationPermissionsShowPrompt方法,以允许网页获取地理位置权限:
webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
        callback.invoke(origin, true, false);
    }
});
  1. 如果需要在网页中获取地理位置信息,需要在网页中添加以下JavaScript代码:
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
  1. 在网页中定义successCallback和errorCallback函数,用于处理成功获取地理位置和获取失败的情况。
function successCallback(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    // 处理获取到的位置信息
}

function errorCallback(error) {
    console.error(error);
}

以上步骤应该可以解决在Android WebView中使用navigator.geolocation API时抛出异常POSITION_UNAVAILABLE的问题。

相关内容

热门资讯

玩家必备教程!赣南必胜辅助,柳... 玩家必备教程!赣南必胜辅助,柳州天天爱字牌辅助器,详细攻略(有挂秘笈)1、实时柳州天天爱字牌辅助器透...
第三方辅助!德普辅助器怎么用,... 第三方辅助!德普辅助器怎么用,德普之星透视辅助软件下载,本来真的是有挂(有挂详情)1、点击下载安装,...
发现一款!悟空大厅微信辅助,雀... 发现一款!悟空大厅微信辅助,雀姬辅助脚本,详细挂(真的有挂)暗藏猫腻,小编详细说明悟空大厅微信辅助破...
做出回应!德普之星透视,德普辅... 做出回应!德普之星透视,德普辅助器怎么用,确实是真的有挂(有挂详情)1、下载好德普辅助器怎么用脚本下...
玩家必看教程!西部透视辅助,雀... 玩家必看教程!西部透视辅助,雀友会广东潮汕辅助有开挂,详细器(发现有挂)1、雀友会广东潮汕辅助有开挂...
据目击者称!hhpoker有后... 据目击者称!hhpoker有后台操控吗,德扑之星私人局辅助免费,一贯存在有挂(有挂讲解)该软件可以轻...
分享实测!四川熊猫辅助软件视频... 分享实测!四川熊猫辅助软件视频,海贝之城辅助软甲下载,详细app(有挂方法)1、四川熊猫辅助软件视频...
2026版方法!epoker透... 2026版方法!epoker透视,德普之星辅助器怎么用,切实真的有挂(确实有挂)1、每一步都需要思考...
科技通报!情怀宜春辅助,微信小... 科技通报!情怀宜春辅助,微信小程序雀神挂件透视,详细挂(讲解有挂)1、微信小程序雀神挂件透视免费脚本...
2026版技巧!wepoker... 2026版技巧!wepoker科技辅助器,德普之星有辅助软件吗,本来真的有挂(有挂秘笈)1、德普之星...