目录

Class (JsGeolocation)

JsGeolocation是Web组件在收到网页地理位置权限请求时,提供给应用的授权响应对象。当网页通过JavaScript调用地理位置接口(如navigator.geolocation)请求获取设备位置信息时,应用需要决定是否授权该请求。JsGeolocation通过invoke方法允许应用对指定源的网页授予或拒绝地理位置权限,同时可选择将该权限决策保存到系统中,避免后续同一源再次请求时重复弹出授权提示。

JsGeolocation适用于Web组件中网页主动请求地理位置权限的场景。应用需先注册onGeolocationShow事件,当网页发起地理位置权限请求时,该事件回调会将JsGeolocation对象传递给应用,应用在回调中调用invoke方法完成授权响应。使用时还需配置"ohos.permission.LOCATION"、"ohos.permission.APPROXIMATELY_LOCATION"权限。

  • 该组件从API version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

  • 本Class从API version 8开始支持。

  • 示例效果请以真机运行为准。

constructor

constructor()

JsGeolocation的构造函数。构造函数本身不直接被应用调用,通常通过onGeolocationShow事件回调获取JsGeolocation实例。

系统能力: SystemCapability.Web.Webview.Core

invoke

invoke(origin: string, allow: boolean, retain: boolean): void

设置网页地理位置权限状态。该方法需在onGeolocationShow事件回调中调用,用于对发起地理位置权限请求的网页进行授权响应。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
origin string 是

发起地理位置权限请求的网页源,用于标识特定网站的地理位置请求来源。

origin格式必须遵循RFC 6454中定义的格式。

allow boolean 是

设置的地理位置权限状态。

true表示开启地理位置权限,false表示不开启地理位置权限。

retain boolean 是

是否允许将地理位置权限状态保存到系统中。可通过GeolocationPermissions接口管理保存到系统的地理位置权限。

true表示保存地理位置权限状态到系统,false表示不保存到系统。