# @ohos.telephony.sim (SIM卡管理)
SIM卡管理模块提供了SIM卡管理的基础能力,包括获取指定卡槽SIM卡的名称、号码、ISO国家码、归属PLMN号、服务提供商名称、SIM卡状态、卡类型、是否插卡、是否激活、锁状态,设置指定卡槽SIM卡显示的名称、号码、锁状态,激活、禁用指定卡槽SIM卡,更改Pin密码,以及解锁指定卡槽SIM卡密码、SIM卡密码的解锁密码等。
>**说明:**
>
>本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
## 导入模块
```js
import sim from '@ohos.telephony.sim';
```
## sim.isSimActive7+
isSimActive\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡是否激活。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<boolean> | 是 | 回调函数。 |
**示例:**
```js
sim.isSimActive(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.isSimActive7+
isSimActive\(slotId: number\): Promise\
获取指定卡槽SIM卡是否激活。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ---------------------------------- |
| Promise<boolean> | 以Promise形式返回指定卡槽是否激活,如果激活返回true。 |
**示例:**
```js
let promise = sim.isSimActive(0);
promise.then(data => {
console.log(`isSimActive success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`isSimActive failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getDefaultVoiceSlotId7+
getDefaultVoiceSlotId\(callback: AsyncCallback\\): void
获取默认语音业务的卡槽ID。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ---------- |
| callback | AsyncCallback<number> | 是 | 回调函数。 |
**示例:**
```js
sim.getDefaultVoiceSlotId((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getDefaultVoiceSlotId7+
getDefaultVoiceSlotId\(\): Promise\
获取默认语音业务的卡槽ID。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ----------------- | --------------------------------------- |
| Promise\ | 以Promise形式返回默认语音业务的卡槽ID。 |
**示例:**
```js
let promise = sim.getDefaultVoiceSlotId();
promise.then(data => {
console.log(`getDefaultVoiceSlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getDefaultVoiceSlotId failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.hasOperatorPrivileges7+
hasOperatorPrivileges\(slotId: number, callback: AsyncCallback\\): void
检查应用(调用者)是否已被授予运营商权限。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ---------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\ | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.hasOperatorPrivileges(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.hasOperatorPrivileges7+
hasOperatorPrivileges\(slotId: number\): Promise\
检查应用(调用者)是否已被授予运营商权限。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| :----------------- | :---------------------------------------------------------- |
| Promise\ | 以Promise形式返回检查应用(调用者)是否已被授予运营商权限。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.hasOperatorPrivileges(0);
promise.then(data => {
console.log(`hasOperatorPrivileges success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`hasOperatorPrivileges failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getISOCountryCodeForSim
getISOCountryCodeForSim\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡的ISO国家码。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\ | 是 | 回调函数。返回国家码,例如:CN(中国)。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getISOCountryCodeForSim(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getISOCountryCodeForSim
getISOCountryCodeForSim\(slotId: number\): Promise\
获取指定卡槽SIM卡的ISO国家码。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\ | 以Promise形式返回获取指定卡槽SIM卡的ISO国家码,例如:CN(中国)。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getISOCountryCodeForSim(0);
promise.then(data => {
console.log(`getISOCountryCodeForSim success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getISOCountryCodeForSim failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getSimOperatorNumeric
getSimOperatorNumeric\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\ | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getSimOperatorNumeric(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimOperatorNumeric
getSimOperatorNumeric\(slotId: number\): Promise\
获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------ |
| Promise\ | 以Promise形式返回获取指定卡槽SIM卡的归属PLMN号。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getSimOperatorNumeric(0);
promise.then(data => {
console.log(`getSimOperatorNumeric success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimOperatorNumeric failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getSimSpn
getSimSpn\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN)。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\ | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getSimSpn(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimSpn
getSimSpn\(slotId: number\): Promise\
获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN)。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ----------------------------------------- |
| Promise\ | 以Promise形式返回获取指定卡槽SIM卡的SPN。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getSimSpn(0);
promise.then(data => {
console.log(`getSimSpn success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimSpn failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getSimState
getSimState\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽的SIM卡状态。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[SimState](#simstate)\> | 是 | 回调函数。参考[SimState](#simstate)。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getSimState(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimState
getSimState\(slotId: number\): Promise\
获取指定卡槽的SIM卡状态。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| -------------------------------- | ------------------------------------------ |
| Promise\<[SimState](#simstate)\> | 以Promise形式返回获取指定卡槽的SIM卡状态。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getSimState(0);
promise.then(data => {
console.log(`getSimState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimState failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getCardType7+
getCardType\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡的卡类型。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[CardType](#cardtype7)\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getCardType(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getCardType7+
getCardType\(slotId: number\): Promise\
获取指定卡槽SIM卡的卡类型。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\<[CardType](#cardtype7)\> | 以Promise形式返回指定卡槽SIM卡的卡类型。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getCardType(0);
promise.then(data => {
console.log(`getCardType success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getCardType failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.hasSimCard7+
hasSimCard\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡是否插卡。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<boolean> | 是 | 回调返回指定卡槽是否插卡,如果插卡返回true。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.hasSimCard(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.hasSimCard7+
hasSimCard\(slotId: number\): Promise\
获取指定卡槽SIM卡是否插卡。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ---------------------------------- |
| Promise<boolean> | 以Promise形式返回指定卡槽是否插卡,如果插卡返回true。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.hasSimCard(0);
promise.then(data => {
console.log(`hasSimCard success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`hasSimCard failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getSimAccountInfo10+
getSimAccountInfo\(slotId: number, callback: AsyncCallback\\): void
获取SIM卡帐户信息。使用callback异步回调。
>**说明:**
>
>如果没有GET_TELEPHONY_STATE权限,获取到的ICCID和号码信息为空。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[IccAccountInfo](#iccaccountinfo7)\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
sim.getSimAccountInfo(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimAccountInfo10+
getSimAccountInfo\(slotId: number\): Promise\
获取SIM卡帐户信息。使用Promise异步回调。
>**说明:**
>
>如果没有GET_TELEPHONY_STATE权限,获取到的ICCID和号码信息为空。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| -------------------------------------------- | ------------------------------------------ |
| Promise<[IccAccountInfo](#iccaccountinfo7)\> | 以Promise形式返回指定卡槽SIM卡的帐户信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let promise = sim.getSimAccountInfo(0);
promise.then(data => {
console.log(`getSimAccountInfo success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimAccountInfo failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getActiveSimAccountInfoList10+
getActiveSimAccountInfoList\(callback: AsyncCallback\\>\): void
获取活跃SIM卡帐户信息列表。使用callback异步回调。
>**说明:**
>
>如果没有GET_TELEPHONY_STATE权限,获取到的ICCID和号码信息为空。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | ---------- |
| callback | AsyncCallback\\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getActiveSimAccountInfoList((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getActiveSimAccountInfoList10+
getActiveSimAccountInfoList\(\): Promise\\>;
获取活跃SIM卡帐户信息列表。使用Promise异步回调。
>**说明:**
>
>如果没有GET_TELEPHONY_STATE权限,获取到的ICCID和号码信息为空。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | ---------------------------------------------- |
| Promise\> | 以Promise形式返回活跃卡槽SIM卡的帐户信息列表。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getActiveSimAccountInfoList();
promise.then(data => {
console.log(`getActiveSimAccountInfoList success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getActiveSimAccountInfoList failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.setDefaultVoiceSlotId7+
setDefaultVoiceSlotId\(slotId: number, callback: AsyncCallback\\): void
设置默认语音业务的卡槽ID。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
- -1:清除默认配置 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301001 | SIM card is not activated. |
**示例:**
```js
sim.setDefaultVoiceSlotId(0, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.setDefaultVoiceSlotId7+
setDefaultVoiceSlotId\(slotId: number\): Promise\
设置默认语音业务的卡槽ID。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2
- -1:清除默认配置 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\ | 以Promise形式异步返回设置结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301001 | SIM card is not activated. |
**示例:**
```js
let promise = sim.setDefaultVoiceSlotId(0);
promise.then(() => {
console.log(`setDefaultVoiceSlotId success.`);
}).catch((err) => {
console.log(`setDefaultVoiceSlotId failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.setShowName8+
setShowName\(slotId: number, name: string, callback: AsyncCallback\\): void
设置指定卡槽SIM卡显示的名称。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| name | string | 是 | SIM卡名称。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let name = "ShowName";
sim.setShowName(0, name, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.setShowName8+
setShowName\(slotId: number, name: string\): Promise\
设置指定卡槽SIM卡显示的名称。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| name | string | 是 | SIM卡名称。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\ | 以Promise形式异步返回设置结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let name = "ShowName";
let promise = sim.setShowName(0, name);
promise.then(() => {
console.log(`setShowName success.`);
}).catch((err) => {
console.log(`setShowName failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getShowName8+
getShowName\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡的名称。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<string> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getShowName(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getShowName8+
getShowName\(slotId: number\): Promise\
获取指定卡槽SIM卡的名称。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------------- | -------------------------------------- |
| Promise<string> | 以Promise形式返回指定卡槽SIM卡的名称。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getShowName(0);
promise.then(data => {
console.log(`getShowName success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getShowName failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.setShowNumber8+
setShowNumber\(slotId: number, number: string, callback: AsyncCallback\\): void
设置指定卡槽SIM卡的号码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| number | string | 是 | SIM卡号码。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let number = '+861xxxxxxxxxx';
sim.setShowNumber(0, number, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.setShowNumber8+
setShowNumber\(slotId: number, number: string\): Promise\
设置指定卡槽SIM卡的号码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| number | string | 是 | SIM卡号码。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------------- |
| Promise | 以Promise形式异步返回设置结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let number = '+861xxxxxxxxxx';
let promise = sim.setShowNumber(0, number);
promise.then(() => {
console.log(`setShowNumber success.`);
}).catch((err) => {
console.log(`setShowNumber failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getShowNumber8+
getShowNumber\(slotId: number, callback: AsyncCallback\): void
获取指定卡槽SIM卡的号码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<string> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getShowNumber(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getShowNumber8+
getShowNumber\(slotId: number\): Promise\
获取指定卡槽SIM卡的号码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------------- | --------------------------------- |
| Promise<string> | 以Promise形式返回指定卡槽的号码。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getShowNumber(0);
promise.then(data => {
console.log(`getShowNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getShowNumber failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.activateSim8+
activateSim\(slotId: number, callback: AsyncCallback\\): void
激活指定卡槽SIM卡。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.activateSim(0, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.activateSim8+
activateSim\(slotId: number\): Promise\
激活指定卡槽SIM卡。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\ | 以Promise形式异步返回设置结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.activateSim(0);
promise.then(() => {
console.log(`activateSim success.`);
}).catch((err) => {
console.log(`activateSim failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.deactivateSim8+
deactivateSim\(slotId: number, callback: AsyncCallback\\): void
禁用指定卡槽SIM卡。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.deactivateSim(0, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.deactivateSim8+
deactivateSim\(slotId: number\): Promise\
禁用指定卡槽SIM卡。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\ | 以Promise形式异步返回设置结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.deactivateSim(0);
promise.then(() => {
console.log(`deactivateSim success.`);
}).catch((err) => {
console.log(`deactivateSim failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.setLockState7+
setLockState\(slotId: number, options: LockInfo, callback: AsyncCallback\\): void
设置指定卡槽SIM卡的锁状态。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[LockStatusResponse](#lockstatusresponse7)\> | 是 | 回调函数。 |
| options | [LockInfo](#lockinfo8) | 是 | 锁信息。
- lockType: [LockType](#locktype8)
- password: string
- state: [LockState](#lockstate8) |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let lockInfo = {
lockType: sim.LockType.PIN_LOCK,
password: "1234",
state: sim.LockState.LOCK_OFF
};
sim.setLockState(0, lockInfo, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.setLockState7+
setLockState\(slotId: number, options: LockInfo\): Promise\
设置指定卡槽SIM卡的锁状态。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------- | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| options | [LockInfo](#lockinfo8) | 是 | 锁信息。
- lockType: [LockType](#locktype8)
- password: string
- state: [LockState](#lockstate8) |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | -------------------------------------------- |
| Promise<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回获取指定卡槽SIM卡的锁状态。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let lockInfo = {
lockType: sim.LockType.PIN_LOCK,
password: "1234",
state: sim.LockState.LOCK_OFF
};
let promise = sim.setLockState(0, lockInfo);
promise.then(data => {
console.log(`setLockState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setLockState failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getLockState8+
getLockState\(slotId: number, lockType: LockType, callback: AsyncCallback\\): void
获取指定卡槽SIM卡的锁状态。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------- | ---- | --------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[LockState](#lockstate8)\> | 是 | 回调函数。 |
| options | [LockType](#locktype8) | 是 | 锁类型。
- 1: PIN锁
- 2: PIN2锁 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
sim.getLockState(0, 1, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getLockState8+
getLockState\(slotId: number, lockType: LockType\): Promise\
获取指定卡槽SIM卡的锁状态。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------- | ---- | --------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| options | [LockType](#locktype8) | 是 | 锁类型。
- 1: PIN锁
- 2: PIN2锁 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | -------------------------------------------- |
| Promise<[LockState](#lockstate8)\> | 以Promise形式返回获取指定卡槽SIM卡的锁状态。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let promise = sim.getLockState(0, 1);
promise.then(data => {
console.log(`getLockState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getLockState failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.alterPin7+
alterPin\(slotId: number, newPin: string, oldPin: string, callback: AsyncCallback\\): void
更改Pin密码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[LockStatusResponse](#lockstatusresponse7)\> | 是 | 回调函数。 |
| newPin | string | 是 | 新密码。 |
| oldPin | string | 是 | 旧密码。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
sim.alterPin(0, "1234", "0000", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.alterPin7+
alterPin\(slotId: number, newPin: string, oldPin: string\): Promise\;
更改Pin密码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| newPin | string | 是 | 新密码。 |
| oldPin | string | 是 | 旧密码。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | --------------------------------------------- |
| Promise<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回指定卡槽SIM卡的Pin是否成功。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let promise = sim.alterPin(0, "1234", "0000");
promise.then(data => {
console.log(`alterPin success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`alterPin failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.alterPin28+
alterPin2\(slotId: number, newPin2: string, oldPin2: string, callback: AsyncCallback\\): void
更改Pin2密码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[LockStatusResponse](#lockstatusresponse7)\> | 是 | 回调函数。 |
| newPin2 | string | 是 | 新密码。 |
| oldPin2 | string | 是 | 旧密码。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
sim.alterPin2(0, "1234", "0000", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.alterPin28+
alterPin2\(slotId: number, newPin2: string, oldPin2: string\): Promise\
更改Pin2密码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| newPin2 | string | 是 | 新密码。 |
| oldPin2 | string | 是 | 旧密码。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | --------------------------------------------- |
| Promise<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回指定卡槽SIM卡的Pin是否成功。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let promise = sim.alterPin2(0, "1234", "0000");
promise.then(data => {
console.log(`alterPin2 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`alterPin2 failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.unlockPin7+
unlockPin\(slotId: number, pin: string, callback: AsyncCallback\\): void
解锁指定卡槽SIM卡密码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| pin | string | 是 | SIM卡的密码。 |
| callback | AsyncCallback<[LockStatusResponse](#lockstatusresponse7)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let pin = '1234';
sim.unlockPin(0, pin, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.unlockPin7+
unlockPin\(slotId: number, pin: string\): Promise\
解锁指定卡槽SIM卡密码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| pin | string | 是 | SIM卡的密码。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | -------------------------------------------------- |
| Promise\<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回获取指定卡槽的SIM卡锁状态的响应。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let pin = '1234';
let promise = sim.unlockPin(0, pin);
promise.then(data => {
console.log(`unlockPin success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`unlockPin failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.unlockPuk7+
unlockPuk\(slotId: number, newPin: string, puk: string, callback: AsyncCallback\\): void
解锁指定卡槽SIM卡密码的解锁密码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| newPin | string | 是 | 重置SIM卡的密码。 |
| puk | string | 是 | SIM卡密码的解锁密码。 |
| callback | AsyncCallback<[LockStatusResponse](#lockstatusresponse7)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let puk = '1xxxxxxx';
let newPin = '1235';
sim.unlockPuk(0, newPin, puk, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.unlockPuk7+
unlockPuk\(slotId: number, newPin: string, puk: string\): Promise\
解锁指定卡槽SIM卡密码的解锁密码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| newPin | string | 是 | 重置SIM卡的密码。 |
| puk | string | 是 | SIM卡密码的解锁密码。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | -------------------------------------------------- |
| Promise\<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回获取指定卡槽的SIM卡锁状态的响应。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let puk = '1xxxxxxx';
let newPin = '1235';
let promise = sim.unlockPuk(0, newPin, puk);
promise.then(data => {
console.log(`unlockPuk success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`unlockPuk failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.unlockPin28+
unlockPin2\(slotId: number, pin2: string, callback: AsyncCallback\\): void
解锁指定卡槽SIM卡密码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| pin2 | string | 是 | SIM卡的密码。 |
| callback | AsyncCallback<[LockStatusResponse](#lockstatusresponse7)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let pin2 = '1234';
sim.unlockPin2(0, pin2, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.unlockPin28+
unlockPin2\(slotId: number, pin2: string\): Promise\
解锁指定卡槽SIM卡密码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| pin2 | string | 是 | SIM卡的密码。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------- | -------------------------------------------------- |
| Promise\<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回获取指定卡槽的SIM卡锁状态的响应。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let pin2='1234';
let promise = sim.unlockPin2(0, pin2);
promise.then(data => {
console.log(`unlockPin2 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`unlockPin2 failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.unlockPuk28+
unlockPuk2\(slotId: number, newPin2: string, puk2: string, callback: AsyncCallback\\): void
解锁指定卡槽SIM卡密码的解锁密码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| newPin2 | string | 是 | 重置SIM卡的密码。 |
| puk2 | string | 是 | SIM卡密码的解锁密码。 |
| callback | AsyncCallback<[LockStatusResponse](#lockstatusresponse7)> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let puk2 = '1xxxxxxx';
let newPin2 = '1235';
sim.unlockPuk2(0, newPin2, puk2, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.unlockPuk28+
unlockPuk2\(slotId: number, newPin2: string, puk2: string\): Promise\
解锁指定卡槽SIM卡密码的解锁密码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| newPin2 | string | 是 | 重置SIM卡的密码。 |
| puk2 | string | 是 | SIM卡密码的解锁密码。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | -------------------------------------------------- |
| Promise\<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回获取指定卡槽的SIM卡锁状态的响应。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let puk2 = '1xxxxxxx';
let newPin2 = '1235';
let promise = sim.unlockPuk2(0, newPin2, puk2);
promise.then(data => {
console.log(`unlockPuk2 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`unlockPuk2 failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getMaxSimCount7+
getMaxSimCount\(\): number
获取卡槽数量。
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| number | 卡槽数量。 |
**示例:**
```js
console.log("Result: "+ sim.getMaxSimCount())
```
## sim.getSimIccId7+
getSimIccId\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽SIM卡的ICCID。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getSimIccId(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimIccId7+
getSimIccId\(slotId: number\): Promise\
获取指定卡槽SIM卡的ICCID。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------- |
| Promise | 以Promise形式返回获取指定卡槽SIM卡的ICCID。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getSimIccId(0);
promise.then(data => {
console.log(`getSimIccId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimIccId failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getVoiceMailIdentifier8+
getVoiceMailIdentifier\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽中SIM卡语音信箱的alpha标识符。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getVoiceMailIdentifier(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getVoiceMailIdentifier8+
getVoiceMailIdentifier\(slotId: number\): Promise\
获取指定卡槽中SIM卡语音信箱的alpha标识符。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------- |
| Promise | 以Promise形式返回获取指定卡槽SIM卡的alpha标识符。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getVoiceMailIdentifier(0);
promise.then(data => {
console.log(`getVoiceMailIdentifier success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getVoiceMailIdentifier failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getVoiceMailNumber8+
getVoiceMailNumber\(slotId: number, callback: AsyncCallback\): void
获取指定卡槽中SIM卡的语音信箱号。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getVoiceMailNumber(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getVoiceMailNumber8+
getVoiceMailNumber\(slotId: number\): Promise\
获取指定卡槽中SIM卡的语音信箱号。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------ |
| Promise | 以Promise形式返回获取指定卡槽SIM卡的语音信箱号。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getVoiceMailNumber(0);
promise.then(data => {
console.log(`getVoiceMailNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getVoiceMailNumber failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.setVoiceMailInfo8+
setVoiceMailInfo\(slotId: number, mailName: string, mailNumber: string, callback: AsyncCallback\\): void
设置语音邮件信息。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | -------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| mailName | string | 是 | 邮件名字 |
| mailNumber | string | 是 | 邮件号码 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
sim.setVoiceMailInfo(0, "mail", "xxx@xxx.com", (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.setVoiceMailInfo8+
setVoiceMailInfo\(slotId: number, mailName: string, mailNumber: string\): Promise\
设置语音邮件信息。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| mailName | string | 是 | 邮件名字。 |
| mailNumber | string | 是 | 邮件号码。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------- |
| Promise | 以Promise形式返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let promise = sim.setVoiceMailInfo(0, "mail", "xxx@xxx.com");
promise.then(() => {
console.log(`setVoiceMailInfo success.`);
}).catch((err) => {
console.log(`setVoiceMailInfo failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getSimTelephoneNumber8+
getSimTelephoneNumber\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽中SIM卡的MSISDN。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getSimTelephoneNumber(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimTelephoneNumber8+
getSimTelephoneNumber\(slotId: number\): Promise\
获取指定卡槽中SIM卡的MSISDN。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | -------------------------------------------- |
| Promise | 以Promise形式返回获取指定卡槽SIM卡的MSISDN。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getSimTelephoneNumber(0);
promise.then(data => {
console.log(`getSimTelephoneNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimTelephoneNumber failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getSimGid17+
getSimGid1\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽中SIM卡的组标识符级别1(GID1)。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\ | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getSimGid1(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimGid17+
getSimGid1\(slotId: number\): Promise\
获取指定卡槽中SIM卡的组标识符级别1(GID1)。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------- |
| Promise | 以Promise形式返回获取指定卡槽SIM卡的标识符级别1。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getSimGid1(0);
promise.then(data => {
console.log(`getSimGid1 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimGid1 failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getIMSI
getIMSI\(slotId: number, callback: AsyncCallback\\): void
获取国际移动用户识别码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\ | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getIMSI(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getIMSI
getIMSI\(slotId: number\): Promise\
获取国际移动用户识别码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------- |
| Promise | 以Promise形式返回获取的国际移动用户识别码。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getIMSI(0);
promise.then(data => {
console.log(`getIMSI success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getIMSI failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getOperatorConfigs8+
getOperatorConfigs\(slotId: number, callback: AsyncCallback\\>\): void
获取运营商配置。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.getOperatorConfigs(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getOperatorConfigs8+
getOperatorConfigs\(slotId: number\): Promise\\>
获取运营商配置。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------------------- | ----------------------------- |
| Promise> | 以Promise形式返回运营商配置。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.getOperatorConfigs(0);
promise.then(data => {
console.log(`getOperatorConfigs success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getOperatorConfigs failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.queryIccDiallingNumbers8+
queryIccDiallingNumbers\(slotId: number, type: ContactType, callback: AsyncCallback\\>\): void
查询SIM卡联系人号码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
| callback | AsyncCallback> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
sim.queryIccDiallingNumbers(0, 1, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.queryIccDiallingNumbers8+
queryIccDiallingNumbers\(slotId: number, type: ContactType\): Promise\\>
查询SIM卡联系人号码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ----------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ------------------------------ |
| Promise> | 以Promise形式返回Icc拨号号码。|
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let promise = sim.queryIccDiallingNumbers(0, 1);
promise.then(data => {
console.log(`queryIccDiallingNumbers success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`queryIccDiallingNumbers failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.addIccDiallingNumbers8+
addIccDiallingNumbers\(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo, callback: AsyncCallback\\): void
添加SIM卡联系人号码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
| diallingNumbers | [DiallingNumbersInfo](#diallingnumbersinfo8) | 是 | 拨号号码信息。 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let diallingNumbersInof = {
alphaTag: "alpha",
number: "138xxxxxxxx",
pin2: "1234"
};
sim.addIccDiallingNumbers(0, sim.ContactType.GENERAL_CONTACT, diallingNumbersInof, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.addIccDiallingNumbers8+
addIccDiallingNumbers\(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo\): Promise\
添加SIM卡联系人号码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
| diallingNumbers | [DiallingNumbersInfo](#diallingnumbersinfo8) | 是 | 拨号号码信息。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise | 以Promise形式返回添加结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let diallingNumbersInof = {
alphaTag: "alpha",
number: "138xxxxxxxx"
};
let promise = sim.addIccDiallingNumbers(0, sim.ContactType.GENERAL_CONTACT, diallingNumbersInof);
promise.then(() => {
console.log(`addIccDiallingNumbers success.`);
}).catch((err) => {
console.log(`addIccDiallingNumbers failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.delIccDiallingNumbers8+
delIccDiallingNumbers\(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo, callback: AsyncCallback\\): void
删除SIM卡联系人号码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
| diallingNumbers | [DiallingNumbersInfo](#diallingnumbersinfo8) | 是 | 拨号号码信息。 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let diallingNumbersInof = {
alphaTag: "alpha",
number: "138xxxxxxxx",
recordNumber: 123,
pin2: "1234"
};
sim.delIccDiallingNumbers(0, sim.ContactType.GENERAL_CONTACT, diallingNumbersInof, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.delIccDiallingNumbers8+
delIccDiallingNumbers\(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo\): Promise\
删除SIM卡联系人号码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
| diallingNumbers | [DiallingNumbersInfo](#diallingnumbersinfo8) | 是 | 拨号号码信息。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise | 以Promise形式返回删除结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let diallingNumbersInof = {
alphaTag: "alpha",
number: "138xxxxxxxx"
};
let promise = sim.delIccDiallingNumbers(0, sim.ContactType.GENERAL_CONTACT, diallingNumbersInof);
promise.then(() => {
console.log(`delIccDiallingNumbers success.`);
}).catch((err) => {
console.log(`delIccDiallingNumbers failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.updateIccDiallingNumbers8+
updateIccDiallingNumbers\(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo, callback: AsyncCallback\\): void
更新SIM卡联系人号码。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
| diallingNumbers | [DiallingNumbersInfo](#diallingnumbersinfo8) | 是 | 拨号号码信息。 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let diallingNumbersInof = {
alphaTag: "alpha",
number: "138xxxxxxxx",
recordNumber: 123,
pin2: "1234"
};
sim.updateIccDiallingNumbers(0, sim.ContactType.GENERAL_CONTACT, diallingNumbersInof, (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.updateIccDiallingNumbers8+
updateIccDiallingNumbers\(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo\): Promise\
更新SIM卡联系人号码。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| type | [ContactType](#contacttype8) | 是 | 联系人类型。
- 1 : GENERAL_CONTACT
- 2 : FIXED_DIALING |
| diallingNumbers | [DiallingNumbersInfo](#diallingnumbersinfo8) | 是 | 拨号号码信息。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------------- |
| Promise | 以Promise形式返回更新的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let diallingNumbersInof = {
alphaTag: "alpha",
number: "138xxxxxxxx",
recordNumber: 123
};
let promise = sim.updateIccDiallingNumbers(0, sim.ContactType.GENERAL_CONTACT, diallingNumbersInof);
promise.then(() => {
console.log(`updateIccDiallingNumbers success.`);
}).catch((err) => {
console.log(`updateIccDiallingNumbers failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.sendEnvelopeCmd8+
sendEnvelopeCmd\(slotId: number, cmd: string, callback: AsyncCallback\\): void
发送信封命令。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| cmd | string | 是 | 命令。 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.sendEnvelopeCmd(0, "ls", (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.sendEnvelopeCmd8+
sendEnvelopeCmd\(slotId: number, cmd: string\): Promise\
发送信封命令。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| cmd | string | 是 | 命令。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise | 以Promise形式返回发送结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.sendEnvelopeCmd(0, "ls");
promise.then(() => {
console.log(`sendEnvelopeCmd success.`);
}).catch((err) => {
console.log(`sendEnvelopeCmd failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.sendTerminalResponseCmd8+
sendTerminalResponseCmd\(slotId: number, cmd: string, callback: AsyncCallback\\): void
发送终端响应命令。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| cmd | string | 是 | 命令。 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
sim.sendTerminalResponseCmd(0, "ls", (err) => {
console.log(`callback: err->${JSON.stringify(err)}`);
});
```
## sim.sendTerminalResponseCmd8+
sendTerminalResponseCmd\(slotId: number, cmd: string\): Promise\
发送终端响应命令。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| cmd | string | 是 | 命令。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------- |
| Promise | 以Promise形式返回发送结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let promise = sim.sendTerminalResponseCmd(0, "ls");
promise.then(() => {
console.log(`sendTerminalResponseCmd success.`);
}).catch((err) => {
console.log(`sendTerminalResponseCmd failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.unlockSimLock8+
unlockSimLock\(slotId: number, lockInfo: PersoLockInfo, callback: AsyncCallback\\): void
解锁SIM卡锁。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| lockInfo | [PersoLockInfo](#persolockinfo8) | 是 | 定制锁类型信息。 |
| callback | AsyncCallback<[LockStatusResponse](#lockstatusresponse7)\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let persoLockInfo = {
lockType: sim.PersoLockType.PN_PIN_LOCK,
password: "1234"
};
sim.unlockSimLock(0, persoLockInfo, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.unlockSimLock8+
unlockSimLock\(slotId: number, lockInfo: PersoLockInfo\): Promise\
解锁SIM卡锁。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| lockInfo | [PersoLockInfo](#persolockinfo8) | 是 | 定制锁类型信息。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | ------------------------- |
| Promise<[LockStatusResponse](#lockstatusresponse7)\> | 以Promise形式返回锁状态。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 202 | Non-system applications use system APIs. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301002 | SIM card operation error. |
**示例:**
```js
let persoLockInfo = {
lockType: sim.PersoLockType.PN_PIN_LOCK,
password: "1234"
};
let promise = sim.unlockSimLock(0, persoLockInfo);
promise.then(data => {
console.log(`unlockSimLock success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`unlockSimLock failed, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getOpKey9+
getOpKey\(slotId: number, callback: AsyncCallback\): void
获取指定卡槽中SIM卡的opkey。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 801 | Capability not supported. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
try {
sim.getOpKey(0, (err, data) => {
if (err) {
console.log("getOpKey failed, err: " + JSON.stringify(err));
} else {
console.log('getOpKey successfully, data: ' + JSON.stringify(data));
}
});
} catch (err) {
console.log("getOpKey err: " + JSON.stringify(err));
}
```
## sim.getOpKey9+
getOpKey\(slotId: number\): Promise\
获取指定卡槽中SIM卡的opkey。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ----------------------------------------- |
| Promise | 以Promise形式返回指定卡槽中SIM卡的opkey。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 801 | Capability not supported. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
try {
let data = sim.getOpKey(0);
console.log(`getOpKey success, promise: data->${JSON.stringify(data)}`);
} catch (error) {
console.log(`getOpKey failed, promise: err->${JSON.stringify(error)}`);
}
```
## sim.getOpName9+
getOpName\(slotId: number, callback: AsyncCallback\\): void
获取指定卡槽中SIM卡的OpName。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 801 | Capability not supported. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
try {
sim.getOpName(0, (err, data) => {
if (err) {
console.log("getOpName failed, err: " + JSON.stringify(err));
} else {
console.log('getOpName successfully, data: ' + JSON.stringify(data));
}
});
} catch (err) {
console.log("getOpName err: " + JSON.stringify(err));
}
```
## sim.getOpName9+
getOpName\(slotId: number\): Promise\
获取指定卡槽中SIM卡的OpName。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------ |
| Promise | 以Promise形式返回指定卡槽中SIM卡的OpName。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 801 | Capability not supported. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
try {
let data = sim.getOpName(0);
console.log(`getOpName success, promise: data->${JSON.stringify(data)}`);
} catch (error) {
console.log(`getOpName failed, promise: err->${JSON.stringify(error)}`);
}
```
## sim.getDefaultVoiceSimId10+
getDefaultVoiceSimId\(callback: AsyncCallback\\): void
获取默认语音业务的SIM卡ID。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ---------- |
| callback | AsyncCallback<number> | 是 | 回调函数。
与SIM卡绑定,从1开始递增。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301001 | SIM card is not activated. |
**示例:**
```js
sim.getDefaultVoiceSimId((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getDefaultVoiceSimId10+
getDefaultVoiceSimId\(\): Promise\
获取默认语音业务的SIM卡ID。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ----------------- | --------------------------------------- |
| Promise\ | 以Promise形式返回默认语音业务的SIM卡ID。
与SIM卡绑定,从1开始递增。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
| 8301001 | SIM card is not activated. |
**示例:**
```js
let promise = sim.getDefaultVoiceSimId();
promise.then(data => {
console.log(`getDefaultVoiceSimId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getDefaultVoiceSimId failed, promise: err->${JSON.stringify(err)}`);
});
```
## SimState
SIM卡状态。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| --------------------- | ---- | ---------------------------------------------------------- |
| SIM_STATE_UNKNOWN | 0 | SIM卡状态未知,即无法获取准确的状态。 |
| SIM_STATE_NOT_PRESENT | 1 | 表示SIM卡处于not present状态,即卡槽中没有插入SIM卡。 |
| SIM_STATE_LOCKED | 2 | 表示SIM卡处于locked状态,即SIM卡被PIN、PUK或网络锁锁定。 |
| SIM_STATE_NOT_READY | 3 | 表示SIM卡处于not ready状态,即SIM卡在位但无法正常工作。 |
| SIM_STATE_READY | 4 | 表示SIM卡处于ready状态,即SIM卡在位且工作正常。 |
| SIM_STATE_LOADED | 5 | 表示SIM卡处于loaded状态,即SIM卡在位且所有卡文件加载完毕。 |
## CardType7+
卡类型。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| ----- | ----- | ----- |
|UNKNOWN_CARD | -1 | 未知类型。 |
|SINGLE_MODE_SIM_CARD | 10 | 单SIM卡。 |
|SINGLE_MODE_USIM_CARD | 20 | 单USIM卡。 |
|SINGLE_MODE_RUIM_CARD | 30 | 单RUIM卡。 |
|DUAL_MODE_CG_CARD | 40 | 双卡模式C+G。 |
|CT_NATIONAL_ROAMING_CARD | 41 | 中国电信内部漫游卡。 |
|CU_DUAL_MODE_CARD | 42 | 中国联通双模卡。 |
|DUAL_MODE_TELECOM_LTE_CARD | 43 | 双模式电信LTE卡。 |
|DUAL_MODE_UG_CARD | 50 | 双模式UG卡。 |
|SINGLE_MODE_ISIM_CARD8+ | 60 | 单一ISIM卡类型。 |
## LockType8+
锁类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| -------- | ---- | ----------- |
| PIN_LOCK | 1 | SIM卡密码锁。 |
| FDN_LOCK | 2 | 固定拨号锁。 |
## LockState8+
锁状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| -------- | ---- | ---------- |
| LOCK_OFF | 0 | 锁关闭状态 |
| LOCK_ON | 1 | 锁开启状态 |
## PersoLockType8+
定制锁类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| ------------ | ---- | ------------------------------------------------ |
| PN_PIN_LOCK | 0 | 定制网络PIN锁(参照 3GPP TS 22.022 [33])。 |
| PN_PUK_LOCK | 1 | 定制网络PUk锁。 |
| PU_PIN_LOCK | 2 | 定制网络子集PIN锁(参照 3GPP TS 22.022 [33])。 |
| PU_PUK_LOCK | 3 | 定制网络子集PUK锁。 |
| PP_PIN_LOCK | 4 | 定制服务提供者PIN锁(参照 3GPP TS 22.022 [33])。 |
| PP_PUK_LOCK | 5 | 定制服务提供者PUK锁。 |
| PC_PIN_LOCK | 6 | 定制企业PIN锁(参照 3GPP TS 22.022 [33])。 |
| PC_PUK_LOCK | 7 | 定制企业Puk锁。 |
| SIM_PIN_LOCK | 8 | 定制SIM的PIN锁(参照 3GPP TS 22.022 [33])。 |
| SIM_PUK_LOCK | 9 | 定制SIM的PUK锁。 |
## LockStatusResponse7+
锁状态响应。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| --------------- | ------ | ---- | --------------------- |
| result | number | 是 | 当前操作的结果。 |
| remain?: number | number | 否 | 剩余次数(可以为空)。|
## LockInfo8+
锁状态响应。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------- |
| lockType | [LockType](#locktype8) | 是 | 锁类型。 |
| password | string | 是 | 密码。 |
| state | [LockState](#lockstate8) | 是 | 锁状态。 |
## PersoLockInfo8+
锁状态响应。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | ---- | ------------- |
| lockType | [PersoLockType](#persolocktype8) | 是 | 定制锁的类型。|
| password | string | 是 | 密码。 |
## IccAccountInfo7+
Icc帐户信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------- | ---- | ---------------- |
| simId | number | 是 | SIM卡ID。 |
| slotIndex | number | 是 | 卡槽ID。 |
| isEsim | boolean | 是 | 标记卡是否是eSim。 |
| isActive | boolean | 是 | 卡是否被激活。 |
| iccId | string | 是 | ICCID号码。 |
| showName | string | 是 | SIM卡显示名称。 |
| showNumber | string | 是 | SIM卡显示号码。 |
## OperatorConfig8+
运营商配置。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | ---- |
| field | string | 是 | 字段 |
| value | string | 是 | 值 |
## DiallingNumbersInfo8+
拨号号码信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ------------ | ------ | ---- | ---------- |
| alphaTag | string | 是 | 标签。 |
| number | string | 是 | 号码。 |
| recordNumber | number | 是 | 记录编号。 |
| pin2 | string | 是 | pin2密码。 |
## ContactType8+
联系人类型。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| --------------- | ---- | ---------- |
| GENERAL_CONTACT | 1 | 通用联系人。 |
| FIXED_DIALING | 2 | 固定拨号。 |
## OperatorConfigKey9+
运营商配置键。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| ------------------------------------------------------- | ------------------------------------------------------ | -------------------- |
| KEY_VOICE_MAIL_NUMBER_STRING | "voice_mail_number_string" | 语音邮件号码。 |
| KEY_IMS_SWITCH_ON_BY_DEFAULT_BOOL | "ims_switch_on_by_default_bool" | 固定拨号。 |
| KEY_HIDE_IMS_SWITCH_BOOL | "hide_ims_switch_bool" | 是否隐藏ims开关。 |
| KEY_VOLTE_SUPPORTED_BOOL | "volte_supported_bool" | 是否支持volte模式。 |
| KEY_NR_MODE_SUPPORTED_LIST_INT_ARRAY | "nr_mode_supported_list_int_array" | nr模式支持的列表。 |
| KEY_VOLTE_PROVISIONING_SUPPORTED_BOOL | "volte_provisioning_supported_bool" | 是否支持配置VOLTE。 |
| KEY_SS_OVER_UT_SUPPORTED_BOOL | "ss_over_ut_supported_bool" | SS服务是否支持UT。 |
| KEY_IMS_GBA_REQUIRED_BOOL | "ims_gba_required_bool" | IMS是否需要GBA。 |
| KEY_UT_PROVISIONING_SUPPORTED_BOOL | "ut_provisioning_supported_bool" | 是否支持UT配置。 |
| KEY_IMS_PREFER_FOR_EMERGENCY_BOOL | "ims_prefer_for_emergency_bool" | IMS紧急首选项。 |
| KEY_CALL_WAITING_SERVICE_CLASS_INT | "call_waiting_service_class_int" | 呼叫等待服务。 |
| KEY_CALL_TRANSFER_VISIBILITY_BOOL | "call_transfer_visibility_bool" | 呼叫转移可见性。 |
| KEY_IMS_CALL_DISCONNECT_REASON_INFO_MAPPING_STRING_ARRAY| "ims_call_disconnect_reason_info_mapping_string_array" | IMS呼叫结束原因列表。|
| KEY_FORCE_VOLTE_SWITCH_ON_BOOL | "force_volte_switch_on_bool" | 强制VOLTE开关。 |
| KEY_ENABLE_OPERATOR_NAME_CUST_BOOL | "enable_operator_name_cust_bool" | 是否显示运营商名称。 |
| KEY_OPERATOR_NAME_CUST_STRING | "operator_name_cust_string" | 运营商名称。 |
| KEY_SPN_DISPLAY_CONDITION_CUST_INT | "spn_display_condition_cust_int" | SPN显示规则。 |
| KEY_PNN_CUST_STRING_ARRAY | "pnn_cust_string_array" | PLMN名称。 |
| KEY_OPL_CUST_STRING_ARRAY | "opl_cust_string_array" | 运营商PLMN信息。 |
| KEY_EMERGENCY_CALL_STRING_ARRAY | "emergency_call_string_array" | 紧急呼叫列表。 |