diff --git a/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-adminManager.md b/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-adminManager.md index c6106a71434f4c00e9a15446e8e3fa057273786c..77d6eacdfb1a7210510e4a87d56ec5bdba562c1c 100644 --- a/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-adminManager.md +++ b/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-adminManager.md @@ -422,6 +422,18 @@ try { | ----------------- | ---- | ----- | | ADMIN_TYPE_BYOD | 0x02 | BYOD设备管理应用。 | + +## Policy20+ + +黑白名单的策略类型。 + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + +| 名称 | 值 | 说明 | +| ----------------- | ---- | ----- | +| BLOCK_LIST | 0 | 黑名单列表。 | +| TRUST_LIST | 1 | 白名单列表。 | + ## 附录 ### 可委托策略列表 | 策略名称 | 对应接口 | 说明 | diff --git a/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-telephonyManager.md b/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-telephonyManager.md new file mode 100644 index 0000000000000000000000000000000000000000..18fdb763c46aa7a56965614ed32a4307ceaaa8f4 --- /dev/null +++ b/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-telephonyManager.md @@ -0,0 +1,533 @@ +# @ohos.enterprise.telephonyManager(通话管理) + +本模块提供通话管理能力。 + +> **说明**: +> +> 本模块首批接口从API version 20开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> +> 本模块接口仅可在Stage模型下使用。 +> +> 本模块接口仅对设备管理应用开放,且调用接口前需激活设备管理应用,具体请参考[MDM Kit开发指南](../../mdm/mdm-kit-guide.md)。 +> +> 全局通用限制类策略由restrictions统一提供,若要全局禁用通话,请参考[@ohos.enterprise.restrictions(限制类策略)](js-apis-enterprise-restrictions.md)。 + +## 导入模块 + +```ts +import { telephonyManager } from '@kit.MDMKit'; +``` + +## telephonyManager.setSimDisabled +setSimDisabled(admin: Want, slotId: number): void + +禁用指定卡槽的sim卡。 + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------ | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| slotId | number | 是 | 卡槽ID, 目前仅支持双卡槽, 取值范围0或1 | + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码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. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let slotId: number = 0; + telephonyManager.setSimDisabled(wantTemp, slotId); + console.info(`Set slotId:${slotId} disabled success.`); +} catch (err) { + console.error(`Failed to set slotId:${slotId} disabled. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.setSimEnabled + +setSimEnabled(admin: Want, slotId: number): void + +使能指定卡槽的sim卡。 + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------ | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| slotId | number | 是 |卡槽ID, 目前仅支持双卡槽, 取值范围0或1 | + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码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. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let slotId: number = 0; + telephonyManager.setSimEnabled(wantTemp, slotId); + console.info(`Set slotId:${slotId} enabled success.`); +} catch (err) { + console.error(`Failed to set slotId:${slotId} enabled. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.isSimDisabled + +isSimDisabled(admin: Want, slotId: number): boolean + +获取指定卡槽是否禁用。 + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------------------------------------------------------- | ---- | -------------------------------------- | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| slotId | number | 是 |卡槽ID, 目前仅支持双卡槽, 取值范围0或1 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------- | ------------------------- | +| boolean | true 表示已禁用 false 表示没有禁用| + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码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. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let slotId: number = 0; + let result: boolean = telephonyManager.isSimDisabled(wantTemp, slotId); + console.info(`slotId:${slotId} isSimDisabled: ${result}.`); +} catch (err) { + console.error(`slotId:${slotId} isSimDisabled failed. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.addOutgoingCallPolicyNumbers + +addOutgoingCallPolicyNumbers(admin: Want, policy: adminManager.Policy, numbers: Array): void + +新增通话呼出的黑白名单。 + +以下情况下,通过本接口新增通话呼出的黑白名单,会报策略冲突: + +1. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备通话能力。 + +以下情况下,通过本接口新增通话呼出的黑名单,会报策略冲突: + +1. 已经通过本接口设置了通话呼出的白名单。 + +若要设置通话呼出的黑名单,先要通过[removeOutgoingCallPolicyNumbers](#telephonymanagerremoveoutgoingcallpolicynumbers)接口将之前设置的白名单给删除。 + +以下情况下,通过本接口新增通话呼出的白名单,会报策略冲突: + +1. 已经通过本接口设置了通话呼出的黑名单。 + +若要设置通话呼出的白名单,先要通过[removeOutgoingCallPolicyNumbers](#telephonymanagerremoveoutgoingcallpolicynumbers)接口将之前设置的黑名单给删除。 + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| --------- | ------------------------------------------------------- | ---- | -------------------------------------- | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| policy | [adminManager.Policy](js-apis-enterprise-adminManager.md#policy) | 是 | 黑白名单策略。 | +| numbers | Array | 是 | 通话号码列表。 | + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------------------ | +| 9200001 | The application is not an administrator application of the device. | +| 9200002 | The administrator application does not have permission to manage the device. | +| 9200010 | A conflict policy has been configured. | +| 201 | Permission verification failed. The application does not have the permission required to call the API. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; +import { adminManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let policy: adminManager.Policy = adminManager.Policy.BLOCK_LIST; + let numbers: Array = [ + "11111111" + ]; + telephonyManager.addOutgoingCallPolicyNumbers(wantTemp, policy, numbers); + console.info(`Succeeded in add outgoing call policy.`); +} catch (err) { + console.error(`Failed to add outgoing call policy. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.removeOutgoingCallPolicyNumbers + +removeOutgoingCallPolicyNumbers(admin: Want, policy: adminManager.Policy, numbers: Array): void + +移除通话呼出的黑白名单。 + +以下情况下,通过本接口移除通话呼出的黑白名单,会报策略冲突: + +1. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备通话能力。 + + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------------------------------------------------------- | ---- | -------------------------------------- | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| policy | [adminManager.Policy](js-apis-enterprise-adminManager.md#policy) | 是 | 黑白名单策略。 | +| numbers | Array | 是 | 通话号码列表。 | + + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码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. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; +import { adminManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let policy: adminManager.Policy = adminManager.Policy.BLOCK_LIST; + let numbers: Array = [ + "11111111" + ]; + telephonyManager.removeOutgoingCallPolicyNumbers(wantTemp, policy, numbers); + console.info(`Succeeded in remove outgoing call policy.`); +} catch (err) { + console.error(`Failed to add remove outgoing call policy. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.getOutgoingCallPolicyNumbers + +getOutgoingCallPolicyNumbers(admin: Want, policy: adminManager.Policy): Array + +获取通话呼出的黑白名单。 + + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| policy | [adminManager.Policy](js-apis-enterprise-adminManager.md#policy) | 是 | 黑白名单策略。 | + + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------------- | ----------------------- | +| Array | 通话号码列表。 | + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码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. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; +import { adminManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let policy: adminManager.Policy = adminManager.Policy.BLOCK_LIST; + let numbers: Array = telephonyManager.getOutgoingCallPolicyNumbers(wantTemp, policy); + console.info(`Succeeded in get outgoing call policy. result: ${JSON.stringify(numbers)}`); +} catch (err) { + console.error(`Failed to add get outgoing call policy. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.addIncomingCallPolicyNumbers + +addIncomingCallPolicyNumbers(admin: Want, policy: adminManager.Policy, numbers: Array): void + +新增通话呼入的黑白名单。 + +以下情况下,通过本接口新增通话呼入的黑白名单,会报策略冲突: + +1. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备通话能力。 + +以下情况下,通过本接口新增通话呼入的黑名单,会报策略冲突: + +1. 已经通过本接口设置了通话呼入的白名单。 + +若要设置通话呼入的黑名单,先要通过[removeIncomingCallPolicyNumbers](#telephonymanagerremoveincomingcallpolicynumbers)接口将之前设置的白名单给删除。 + +以下情况下,通过本接口新增通话呼入的白名单,会报策略冲突: + +1. 已经通过本接口设置了通话呼入的黑名单。 + +若要设置通话呼入的白名单,先要通过[removeIncomingCallPolicyNumbers](#telephonymanagerremoveincomingcallpolicynumbers)接口将之前设置的黑名单给删除。 + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| --------- | ------------------------------------------------------- | ---- | -------------------------------------- | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| policy | [adminManager.Policy](js-apis-enterprise-adminManager.md#policy) | 是 | 黑白名单策略。 | +| numbers | Array | 是 | 通话号码列表。 | + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码ID | 错误信息 | +| -------- | ------------------------------------------------------------ | +| 9200001 | The application is not an administrator application of the device. | +| 9200002 | The administrator application does not have permission to manage the device. | +| 9200010 | A conflict policy has been configured. | +| 201 | Permission verification failed. The application does not have the permission required to call the API. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; +import { adminManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let policy: adminManager.Policy = adminManager.Policy.BLOCK_LIST; + let numbers: Array = [ + "11111111" + ]; + telephonyManager.addIncomingCallPolicyNumbers(wantTemp, policy, numbers); + console.info(`Succeeded in add incoming call policy.`); +} catch (err) { + console.error(`Failed to add incoming call policy. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.removeIncomingCallPolicyNumbers + +removeIncomingCallPolicyNumbers(admin: Want, policy: adminManager.Policy, numbers: Array): void + +移除通话呼入的黑白名单。 + +以下情况下,通过本接口移除通话呼入的黑白名单,会报策略冲突: + +1. 已经通过[setDisallowedPolicy](js-apis-enterprise-restrictions.md#restrictionssetdisallowedpolicy)接口禁用了设备通话能力。 + + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------------------------------------------------------- | ---- | -------------------------------------- | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| policy | [adminManager.Policy](js-apis-enterprise-adminManager.md#policy) | 是 | 黑白名单策略。 | +| numbers | Array | 是 | 通话号码列表。 | + + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码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. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; +import { adminManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let policy: adminManager.Policy = adminManager.Policy.BLOCK_LIST; + let numbers: Array = [ + "11111111" + ]; + telephonyManager.removeIncomingCallPolicyNumbers(wantTemp, policy, numbers); + console.info(`Succeeded in remove incoming call policy.`); +} catch (err) { + console.error(`Failed to add remove incoming call policy. Code: ${err.code}, message: ${err.message}`); +} +``` + +## telephonyManager.getIncomingCallPolicyNumbers + +getIncomingCallPolicyNumbers(admin: Want, policy: adminManager.Policy): Array + +获取通话呼入的黑白名单。 + + +**需要权限:** ohos.permission.ENTERPRISE_MANAGE_TELEPHONY + +**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager + + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | +| policy | [adminManager.Policy](js-apis-enterprise-adminManager.md#policy) | 是 | 黑白名单策略。 | + + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------------- | ----------------------- | +| Array | 通话号码列表。 | + +**错误码**: + +以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 + +| 错误码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. | + +**示例:** + +```ts +import { Want } from '@kit.AbilityKit'; +import { telephonyManager } from '@kit.MDMKit'; +import { adminManager } from '@kit.MDMKit'; + +let wantTemp: Want = { + bundleName: 'com.example.myapplication', + abilityName: 'EntryAbility', +}; +try { + let policy: adminManager.Policy = adminManager.Policy.BLOCK_LIST; + let numbers: Array = telephonyManager.getIncomingCallPolicyNumbers(wantTemp, policy); + console.info(`Succeeded in get incoming call policy. result: ${JSON.stringify(numbers)}`); +} catch (err) { + console.error(`Failed to add get incoming call policy. Code: ${err.code}, message: ${err.message}`); +} +```