# 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 fail, 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 fail, 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\ | 是 | 回调函数。 |
**示例:**
```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形式返回检查应用(调用者)是否已被授予运营商权限。 |
**示例:**
```js
let promise = sim.hasOperatorPrivileges(0);
promise.then(data => {
console.log(`hasOperatorPrivileges success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`hasOperatorPrivileges fail, 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(中国)。 |
**示例:**
```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(中国)。 |
**示例:**
```js
let promise = sim.getISOCountryCodeForSim(0);
promise.then(data => {
console.log(`getISOCountryCodeForSim success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getISOCountryCodeForSim fail, 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\ | 是 | 回调函数。 |
**示例:**
```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号。 |
**示例:**
```js
let promise = sim.getSimOperatorNumeric(0);
promise.then(data => {
console.log(`getSimOperatorNumeric success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimOperatorNumeric fail, 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\ | 是 | 回调函数。 |
**示例:**
```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。 |
**示例:**
```js
let promise = sim.getSimSpn(0);
promise.then(data => {
console.log(`getSimSpn success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimSpn fail, 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)。 |
**示例:**
```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卡状态。 |
**示例:**
```js
let promise = sim.getSimState(0);
promise.then(data => {
console.log(`getSimState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimState fail, 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)\> | 是 | 回调函数。 |
**示例:**
```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卡的卡类型。 |
**示例:**
```js
let promise = sim.getCardType(0);
promise.then(data => {
console.log(`getCardType success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getCardType fail, 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> | 是 | 回调函数。 |
**示例:**
```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。 |
**示例:**
```js
let promise = sim.hasSimCard(0);
promise.then(data => {
console.log(`hasSimCard success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`hasSimCard fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getSimAccountInfo7+
getSimAccountInfo(slotId: number, callback: AsyncCallback): void
获取SIM卡账户信息,使用callback方式作为异步方法。
此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[IccAccountInfo](#iccaccountinfo7)\> | 是 | 回调函数。 |
**示例:**
```js
sim.getSimAccountInfo(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getSimAccountInfo7+
getSimAccountInfo(slotId: number): Promise
获取SIM卡账户信息,使用callback方式作为异步方法。
此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| -------------------------------------------- | ------------------------------------------ |
| Promise<[IccAccountInfo](#iccaccountinfo7)\> | 以Promise形式返回指定卡槽SIM卡的账户信息。 |
**示例:**
```js
let promise = sim.getSimAccountInfo(0);
promise.then(data => {
console.log(`getSimAccountInfo success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimAccountInfo fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getActiveSimAccountInfoList8+
getActiveSimAccountInfoList(callback: AsyncCallback>): void
获取活跃SIM卡账户信息列表,使用callback方式作为异步方法。
此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | ---------- |
| callback | AsyncCallback\\> | 是 | 回调函数。 |
**示例:**
```js
sim.getActiveSimAccountInfoList(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getActiveSimAccountInfoList8+
getActiveSimAccountInfoList(): Promise>;
获取活跃SIM卡账户信息列表,使用callback方式作为异步方法。
此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------- | ---------------------------------------------- |
| Promise\> | 以Promise形式返回活跃卡槽SIM卡的账户信息列表。 |
**示例:**
```js
let promise = sim.getActiveSimAccountInfoList();
promise.then(data => {
console.log(`getActiveSimAccountInfoList success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getActiveSimAccountInfoList fail, 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> | 是 | 回调函数。 |
**示例:**
```js
sim.setDefaultVoiceSlotId(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## 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形式异步返回设置结果。 |
**示例:**
```js
let promise = sim.setDefaultVoiceSlotId(0);
promise.then(data => {
console.log(`setDefaultVoiceSlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setDefaultVoiceSlotId fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**setShowName**8+
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> | 是 | 回调函数。 |
**示例:**
```js
const name = '中国移动';
sim.setShowName(0, name, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**setShowName**8+
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形式异步返回设置结果。 |
**示例:**
```js
const name = '中国移动';
let promise = sim.setShowName(0, name);
promise.then(data => {
console.log(`setShowName success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setShowName fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**getShowName**8+
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> | 是 | 回调函数。 |
**示例:**
```js
sim.getShowName(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**getShowName**8+
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卡的名称。 |
**示例:**
```js
let promise = sim.getShowName(0);
promise.then(data => {
console.log(`getShowName success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getShowName fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**setShowNumber**8+
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> | 是 | 回调函数。 |
**示例:**
```js
let number = '+861xxxxxxxxxx';
sim.setShowNumber(0, number, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**setShowNumber**8+
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形式异步返回设置结果。 |
**示例:**
```js
let number = '+861xxxxxxxxxx';
let promise = sim.setShowNumber(0, number);
promise.then(data => {
console.log(`setShowNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setShowNumber fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**getShowNumber**8+
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> | 是 | 回调函数。 |
**示例:**
```js
sim.getShowNumber(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**getShowNumber**8+
getShowNumber(slotId: number): Promise
获取指定卡槽SIM卡的号码,使用Promise方式作为异步方法。
此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------------- | --------------------------------- |
| Promise<string> | 以Promise形式返回指定卡槽的号码。 |
**示例:**
```js
let promise = sim.getShowNumber(0);
promise.then(data => {
console.log(`getShowNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getShowNumber fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**activateSim**8+
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> | 是 | 回调函数。 |
**示例:**
```js
sim.activateSim(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**activateSim**8+
activateSim(slotId: number): Promise\
激活指定卡槽SIM卡,使用Promise方式作为异步方法。
此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\ | 以Promise形式异步返回设置结果。 |
**示例:**
```js
let promise = sim.activateSim(0);
promise.then(data => {
console.log(`activateSim success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`activateSim fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**deactivateSim**8+
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> | 是 | 回调函数。 |
**示例:**
```js
sim.deactivateSim(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**deactivateSim**8+
deactivateSim(slotId: number): Promise\
禁用指定卡槽SIM卡,使用Promise方式作为异步方法。
此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\ | 以Promise形式异步返回设置结果。 |
**示例:**
```js
let promise = sim.deactivateSim(0);
promise.then(data => {
console.log(`deactivateSim success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`deactivateSim fail, 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) |
**示例:**
```js
let lockInfo = {
lockType = 1,
password = "1234",
state = 0
};
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卡的锁状态,使用callback方式作为异步方法。
此接口为系统接口。
**需要权限**: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卡的锁状态。 |
**示例:**
```js
let lockInfo = {
lockType = 1,
password = "1234",
state = 0
};
let promise = sim.setLockState(0, lockInfo);
promise.then(data => {
console.log(`setLockState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setLockState fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getLockState8+
getLockState(slotId: number, lockType: LockType, callback: AsyncCallback): void
获取指定卡槽SIM卡的锁状态,使用callback方式作为异步方法。
此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------- | ---- | --------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback\<[LockState](#lockstate8)\> | 是 | 回调函数。 |
| options | [LockType](#locktype8) | 是 | 锁类型。
- 1: PIN锁
- 2: PIN2锁 |
**示例:**
```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卡的锁状态,使用callback方式作为异步方法。
此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------- | ---- | --------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| options | [LockType](#locktype8) | 是 | 锁类型。
- 1: PIN锁
- 2: PIN2锁 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | -------------------------------------------- |
| Promise<[LockState](#lockstate8)\> | 以Promise形式返回获取指定卡槽SIM卡的锁状态。 |
**示例:**
```js
let promise = sim.getLockState(0, 1);
promise.then(data => {
console.log(`getLockState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getLockState fail, 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 | 是 | 旧密码。 |
**示例:**
```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密码,使用callback方式作为异步方法。
此接口为系统接口。
**需要权限**: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是否成功。 |
**示例:**
```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 fail, 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 | 是 | 旧密码。 |
**示例:**
```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密码,使用callback方式作为异步方法。
此接口为系统接口。
**需要权限**: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是否成功。 |
**示例:**
```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 fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**unlockPin**7+
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)> | 是 | 回调函数。 |
**示例:**
```js
let pin = '1234';
sim.unlockPin(0, pin, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**unlockPin**7+
unlockPin(slotId: number,pin: string): Promise<LockStatusResponse\>
解锁指定卡槽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卡锁状态的响应。 |
**示例:**
```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 fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**unlockPuk**7+
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)> | 是 | 回调函数。 |
**示例:**
```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.**unlockPuk**7+
unlockPuk(slotId: number,newPin: string,puk: string): Promise<LockStatusResponse\>
解锁指定卡槽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卡锁状态的响应。 |
**示例:**
```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 fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**unlockPin**28+
****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)> | 是 | 回调函数。 |
**示例:**
```js
let pin2 = '1234';
sim.unlockPin2(0, pin2, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.**unlockPin**28+
unlockPin2(slotId: number,pin2: string): Promise<LockStatusResponse\>
解锁指定卡槽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卡锁状态的响应。 |
**示例:**
```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 fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.**unlockPuk**28+
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)> | 是 | 回调函数。 |
**示例:**
```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.**unlockPuk2**8+
unlockPuk2slotId: number,newPin2: string,puk2: string): Promise<LockStatusResponse\>
解锁指定卡槽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卡锁状态的响应。 |
**示例:**
```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 fail, 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 | 是 | 回调函数。 |
**示例:**
```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。 |
**示例:**
```js
let promise = sim.getSimIccId(0);
promise.then(data => {
console.log(`getSimIccId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimIccId fail, 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 | 是 | 回调函数。 |
**示例:**
```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标识符。 |
**示例:**
```js
let promise = sim.getVoiceMailIdentifier(0);
promise.then(data => {
console.log(`getVoiceMailIdentifier success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getVoiceMailIdentifier fail, 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 | 是 | 回调函数。 |
**示例:**
```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卡的语音信箱号。 |
**示例:**
```js
let promise = sim.getVoiceMailNumber(0);
promise.then(data => {
console.log(`getVoiceMailNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getVoiceMailNumber fail, 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 | 是 | 回调函数。 |
**示例:**
```js
sim.setVoiceMailInfo(0, "mail", "xxx@xxx.com" , (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## 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形式返回结果。 |
**示例:**
```js
let promise = sim.setVoiceMailInfo(0, "mail", "xxx@xxx.com");
promise.then(data => {
console.log(`setVoiceMailInfo success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setVoiceMailInfo fail, 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 | 是 | 回调函数。 |
**示例:**
```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。 |
**示例:**
```js
let promise = sim.getSimTelephoneNumber(0);
promise.then(data => {
console.log(`getSimTelephoneNumber success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimTelephoneNumber fail, 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\ | 是 | 回调函数。 |
**示例:**
```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。 |
**示例:**
```js
let promise = sim.getSimGid1(0);
promise.then(data => {
console.log(`getSimGid1 success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getSimGid1 fail, 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\ | 是 | 回调函数。 |
**示例:**
```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形式返回获取的国际移动用户识别码。 |
**示例:**
```js
let promise = sim.getIMSI(0);
promise.then(data => {
console.log(`getIMSI success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getIMSI fail, 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> | 是 | 回调函数。 |
**示例:**
```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形式返回运营商配置。 |
**示例:**
```js
let promise = sim.getOperatorConfigs(0);
promise.then(data => {
console.log(`getOperatorConfigs success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getOperatorConfigs fail, 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> | 是 | 回调函数。 |
**示例:**
```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拨号号码。 |
**示例:**
```js
let promise = sim.queryIccDiallingNumbers(0, 1);
promise.then(data => {
console.log(`queryIccDiallingNumbers success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`queryIccDiallingNumbers fail, 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 | 是 | 回调函数 |
**示例:**
```js
let diallingNumbersInof = {
alphaTag = "alpha",
number = "138xxxxxxxx",
recordNumber = 123,
pin2 = "1234"
};
sim.addIccDiallingNumbers(0, 1, diallingNumbersInof, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## 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形式返回添加结果。 |
**示例:**
```js
let diallingNumbersInof = {
alphaTag = "alpha",
number = "138xxxxxxxx",
recordNumber = 123,
pin2 = "1234"
};
let promise = sim.addIccDiallingNumbers(0, 1, diallingNumbersInof);
promise.then(data => {
console.log(`addIccDiallingNumbers success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`addIccDiallingNumbers fail, 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 | 是 | 回调函数 |
**示例:**
```js
let diallingNumbersInof = {
alphaTag = "alpha",
number = "138xxxxxxxx",
recordNumber = 123,
pin2 = "1234"
};
sim.delIccDiallingNumbers(0, 1, diallingNumbersInof, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## 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形式返回删除结果。 |
**示例:**
```js
let diallingNumbersInof = {
alphaTag = "alpha",
number = "138xxxxxxxx",
recordNumber = 123,
pin2 = "1234"
};
let promise = sim.delIccDiallingNumbers(0, 1, diallingNumbersInof);
promise.then(data => {
console.log(`delIccDiallingNumbers success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`delIccDiallingNumbers fail, 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 | 是 | 回调函数 |
**示例:**
```js
let diallingNumbersInof = {
alphaTag = "alpha",
number = "138xxxxxxxx",
recordNumber = 123,
pin2 = "1234"
};
sim.updateIccDiallingNumbers(0, 1, diallingNumbersInof, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## 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形式返回更新的结果。 |
**示例:**
```js
let diallingNumbersInof = {
alphaTag = "alpha",
number = "138xxxxxxxx",
recordNumber = 123,
pin2 = "1234"
};
let promise = sim.updateIccDiallingNumbers(0, 1, diallingNumbersInof);
promise.then(data => {
console.log(`updateIccDiallingNumbers success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`updateIccDiallingNumbers fail, 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 | 是 | 是 |
**示例:**
```js
sim.sendEnvelopeCmd(0, "ls", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## 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形式返回发送结果。 |
**示例:**
```js
let promise = sim.sendEnvelopeCmd(0, "ls");
promise.then(data => {
console.log(`sendEnvelopeCmd success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`sendEnvelopeCmd fail, 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 | 是 | 回调函数。 |
**示例:**
```js
sim.sendTerminalResponseCmd(0, "ls", (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## 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形式返回发送结果。 |
**示例:**
```js
let promise = sim.sendTerminalResponseCmd(0, "ls");
promise.then(data => {
console.log(`sendTerminalResponseCmd success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`sendTerminalResponseCmd fail, 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)\> | 是 | 回调函数 |
**示例:**
```js
let persoLockInfo = {
lockType = 0,
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形式返回锁状态。 |
**示例:**
```js
let persoLockInfo = {
lockType = 0,
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 fail, 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 | 是 | 回调函数 |
**示例:**
```js
sim.getOpKey(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getOpKey9+
getOpKey(slotId: number): Promise
获取指定卡槽中SIM卡的opkey,使用Promise方式作为异步方法。
此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ----------------------------------------- |
| Promise | 以Promise形式返回指定卡槽中SIM卡的opkey。 |
**示例:**
```js
let promise = sim.getOpKey(0);
promise.then(data => {
console.log(`getOpKey success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getOpKey fail, promise: err->${JSON.stringify(err)}`);
});
```
## sim.getOpName9+
getOpName(slotId: number, callback: AsyncCallback): void
获取指定卡槽中SIM卡的OpName,使用callback方式作为异步方法。
此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
| callback | AsyncCallback | 是 | 回调函数 |
**示例:**
```js
sim.getOpName(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## sim.getOpName9+
getOpName(slotId: number): Promise
获取指定卡槽中SIM卡的OpName,使用Promise方式作为异步方法。
此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------ |
| Promise | 以Promise形式返回指定卡槽中SIM卡的OpName。 |
**示例:**
```js
let promise = sim.getOpName(0);
promise.then(data => {
console.log(`getOpName success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getOpName fail, 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 | 固定拨号 |