文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明
开发与测试开放能力API系统基础功能MDM Kit(企业设备管理服务)ArkTS API@ohos.enterprise.locationManager(位置服务管理)

@ohos.enterprise.locationManager(位置服务管理)

Phone12+PC/2in113+Tablet12+

本模块提供设备位置服务策略管理的能力,包括设置和查询位置服务开关策略等。

使用场景

适用于企业设备管理场景,管理员可通过此模块统一管控设备位置服务策略。

说明

本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口仅可在Stage模型下使用。

本模块接口仅对设备管理应用开放,且调用接口前需激活设备管理应用,具体请参考MDM Kit开发指南

导入模块

import { locationManager } from '@kit.MDMKit';

locationManager.setLocationPolicy

Phone12+PC/2in113+Tablet12+

setLocationPolicy(admin: Want, policy: LocationPolicy): void

设置位置服务管理策略。可用于企业管控场景,如:在涉密区域禁用位置服务以保护信息安全,或在物流配送应用中强制开启位置服务以追踪设备位置。

说明
  • 禁用:在需要保护隐私或节省电量的场景下设置。
  • 强制开启:在设备安全追踪、资产管理等场景下设置。
  • 默认:取消策略限制,由用户自主控制。

需要权限: ohos.permission.ENTERPRISE_MANAGE_LOCATION

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 独占

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
policy LocationPolicy

位置服务策略。

- 0:默认策略。

- 1:禁用位置服务。

- 2:强制开启位置服务。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

import { locationManager } from '@kit.MDMKit';
import { Want } from '@kit.AbilityKit';

let wantTemp: Want = {
  // 需根据实际情况进行替换
  bundleName: 'com.example.myapplication',
  abilityName: 'EnterpriseAdminAbility'
};

try {
  locationManager.setLocationPolicy(wantTemp, locationManager.LocationPolicy.DISALLOW_LOCATION_SERVICE);
  console.info(`Succeeded in setting location policy.`);
} catch (err) {
  console.error(`Failed to set location policy. Code: ${err.code}, message: ${err.message}`);
}

locationManager.getLocationPolicy

Phone12+PC/2in113+Tablet12+

getLocationPolicy(admin: Want): LocationPolicy

查询位置服务管理策略。可在企业设备管理应用中检查当前设备的位置服务策略状态,用于策略合规性验证或策略调整前的状态确认。适用于确认当前策略配置、设备管理应用启动时读取策略状态、排查位置服务问题时检查策略等场景。

本接口通过传入Want查询对应企业设备管理应用设置的策略,如需查询实际生效的策略,请使用locationManager.getLocationPolicy接口。

需要权限: ohos.permission.ENTERPRISE_MANAGE_LOCATION

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

返回值:

展开
类型 说明
LocationPolicy 位置服务策略枚举值。0:默认策略。1:禁用位置服务。2:强制开启位置服务。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

import { locationManager } from '@kit.MDMKit';
import { Want } from '@kit.AbilityKit';

let wantTemp: Want = {
  // 需根据实际情况进行替换
  bundleName: 'com.example.myapplication',
  abilityName: 'EnterpriseAdminAbility'
};

try {
  let result: locationManager.LocationPolicy = locationManager.getLocationPolicy(wantTemp);
  console.info(`Succeeded in getting location policy. policy: ${result}`);
} catch (err) {
  console.error(`Failed to get location policy. Code: ${err.code}, message: ${err.message}`);
}

locationManager.getLocationPolicy

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+

getLocationPolicy(admin: Want | null): LocationPolicy

查询位置服务管理策略。可在企业设备管理应用中检查当前设备的位置服务策略状态,用于策略合规性验证或策略调整前的状态确认。适用于确认当前策略配置、设备管理应用启动时读取策略状态、排查位置服务问题时检查策略等场景。

起始版本: 26.0.0

需要权限: ohos.permission.ENTERPRISE_MANAGE_LOCATION

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want | null

企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

当设备存在多个MDM应用时,传入Want时查询对应企业设备管理应用设置的策略,传入null时查询实际生效的策略。

返回值:

展开
类型 说明
LocationPolicy 位置服务策略枚举值。0:默认策略。1:禁用位置服务。2:强制开启位置服务。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

import { locationManager } from '@kit.MDMKit';

try {
  // 参数需根据实际情况进行替换
  let result: locationManager.LocationPolicy = locationManager.getLocationPolicy(null);
  console.info(`Succeeded in getting location policy. policy: ${result}`);
} catch(err) {
  console.error(`Failed to get location policy. Code: ${err.code}, message: ${err.message}`);
}

LocationPolicy

Phone12+PC/2in113+Tablet12+

位置服务策略值。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 说明
DEFAULT_LOCATION_SERVICE 0 默认策略,不限制位置服务开关,允许用户自行控制。
DISALLOW_LOCATION_SERVICE 1 禁用位置服务策略。适用于涉密区域、保密会议室等需要禁止位置服务的场景。
FORCE_OPEN_LOCATION_SERVICE 2 强制开启位置服务策略。适用于物流追踪、外勤管理等需要确保位置服务可用的场景。
在 开发与测试 开放能力API 中进行搜索
请输入您想要搜索的关键词