1# @ohos.enterprise.locationManager(位置服务管理)(系统接口) 2 3本模块提供设备位置服务策略管理的能力,包括设置和查询位置服务开关策略等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> 本模块接口仅可在Stage模型下使用。 10> 11> 本模块接口仅对[设备管理应用](enterpriseDeviceManagement-overview.md#基本概念)开放,需将[设备管理应用激活](js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin)后调用,实现相应功能。 12> 13> 本模块接口均为系统接口。 14 15## 导入模块 16 17```ts 18import locationManager from '@ohos.enterprise.locationManager'; 19``` 20 21## locationManager.setLocationPolicy 22 23setLocationPolicy(admin: Want, policy: LocationPolicy): void 24 25以同步方法设置位置服务管理策略。失败抛出对应异常。 26 27**需要权限:** ohos.permission.ENTERPRISE_MANAGE_LOCATION 28 29**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 30 31 32**参数:** 33 34| 参数名 | 类型 | 必填 | 说明 | 35| ----- | ----------------------------------- | ---- | ------- | 36| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 37| policy | [LocationPolicy](#locationpolicy) | 是 | 位置服务策略。<br>- 0:默认策略<br>- 1:禁用<br>- 2:强制启用。 | 38 39**错误码**: 40 41以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md) 42 43| 错误码ID | 错误信息 | 44| ------- | ---------------------------------------------------------------------------- | 45| 9200001 | the application is not an administrator of the device. | 46| 9200002 | the administrator application does not have permission to manage the device. | 47 48**示例:** 49 50```ts 51import Want from '@ohos.app.ability.Want'; 52import locationManager from '@ohos.enterprise.locationManager'; 53 54let wantTemp: Want = { 55 bundleName: 'com.example.myapplication', 56 abilityName: 'EntryAbility', 57}; 58 59try { 60 locationManager.setLocationPolicy(wantTemp, locationManager.LocationPolicy.DISALLOW_LOCATION_SERVICE); 61 console.info(`Succeeded in setting location patch tag.`); 62} catch(err) { 63 console.error(`Failed to get location patch tag. Code: ${err.code}, message: ${err.message}`); 64} 65``` 66## locationManager.getLocationPolicy 67 68getLocationPolicy(admin: Want): LocationPolicy 69 70以同步方法查询位置服务策略。成功返回位置服务策略,失败抛出对应异常。 71 72**需要权限:** ohos.permission.ENTERPRISE_MANAGE_LOCATION 73 74**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 75 76 77**参数:** 78 79| 参数名 | 类型 | 必填 | 说明 | 80| -------- | ---------------------------------------- | ---- | ------------------------------- | 81| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 82 83**返回值:** 84 85| 类型 | 说明 | 86| ---------------- | ------------------------------------------------------ | 87| LocationPolicy | 位置服务策略枚举值 0:默认策略 1:禁用 2:强制启用。 | 88 89**错误码**: 90 91以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md) 92 93| 错误码ID | 错误信息 | 94| ------- | ---------------------------------------------------------------------------- | 95| 9200001 | the application is not an administrator of the device. | 96| 9200002 | the administrator application does not have permission to manage the device. | 97 98**示例:** 99 100```ts 101import Want from '@ohos.app.ability.Want'; 102import locationManager from '@ohos.enterprise.locationManager'; 103let wantTemp: Want = { 104 bundleName: 'com.example.myapplication', 105 abilityName: 'EntryAbility', 106}; 107 108try { 109 let result: locationManager.LocationPolicy = locationManager.getLocationPolicy(wantTemp); 110 console.info(`Succeeded in getting location policy. policy: ${result}`); 111} catch(err) { 112 console.error(`Failed to get device encryption status. Code: ${err.code}, message: ${err.message}`); 113} 114``` 115 116## LocationPolicy 117 118位置服务策略值。 119 120**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 121 122 123**模型约束:** 此接口仅可在Stage模型下使用 124 125| 名称 | 值 | 说明 | 126| ----------------------------| ----| ------------------------------- | 127| DEFAULT_LOCATION_SERVICE | 0 | 默认策略。 | 128| DISALLOW_LOCATION_SERVICE | 1 | 禁用位置服务策略。 | 129| FORCE_OPEN_LOCATION_SERVICE | 2 | 强制开启位置服务策略。 | 130 131