地理位置不适用于华为设备上的 WebChromeClient

Posted

技术标签:

【中文标题】地理位置不适用于华为设备上的 WebChromeClient【英文标题】:Geo Location not working for WebChromeClient on Huawei Devices 【发布时间】:2021-10-31 05:24:41 【问题描述】:

我有一个使用 WebChrome 客户端嵌入本机应用程序的反应构建的网络应用程序。

React 应用尝试使用 html5 Geo Location API 读取您当前的地理位置,并据此显示结果。

它适用于大多数安卓设备,但不适用于非洲市场的某些华为手机,因为这些设备缺少 Google Play 服务。

虽然有一种方法可以在没有 Google Play 服务的情况下使用 android 位置管理器获取设备的地理位置。

但问题是如何配置 WebChromeClient 以使用 Android 位置管理器而不是 Google Play 服务?

我查看了WebChromeClient界面,但没有找到办法。

感谢任何想法。

【问题讨论】:

【参考方案1】:

Huawei Location Kit 可能会帮助您解决问题。

Location Kit 为您提供快速获取用户设备精准位置的能力,帮助您建立全球定位能力,拓展全球业务。目前,Location Kit 提供了两种访问其功能的模式。

Android:Android 位置 SDK 为您的 Android 应用程序提供与位置相关的 API。这些API主要涉及四个功能:融合定位、活动识别、地理围栏、高精度定位。此模式适用于手机和华为平板电脑。 REST API:Location Kit 的 REST API 使您能够使用 HTTPS 发起请求以调用与位置相关的功能,包括地理围栏和 GeoLocation (API)。此模式适用于 Web 客户端。

详情请咨询Docs。

华为也为 React Native 提供了一些 HMS Core 套件插件:

Reference documents

Location Kit plugins for React Native

【讨论】:

以上是关于地理位置不适用于华为设备上的 WebChromeClient的主要内容,如果未能解决你的问题,请参考以下文章

Mac 上的 iOS 7 模拟器不适用于自定义位置(也不会请求许可)

正在尝试在 Android 设备上检索位置...适用于模拟器,但不适用于真实设备

地理位置API不适用于移动设备

GCM 不适用于 Android 4.1 设备

我的应用不适用于 Google Play 上的平板设备

Cookie不适用于Apple设备上的WebSocket