# SIM卡管理 - [导入模块](#s56d19203690d4782bfc74069abb6bd71) - [sim.getSimIccId](#section18529027065) - [sim.getSimIccId](#section9200164911401) - [sim.getDefaultVoiceSlotId7+](#section3313193864611) - [sim.getDefaultVoiceSlotId7+](#section19013665018) - [sim.getISOCountryCodeForSim](#section1429719645712) - [sim.getISOCountryCodeForSim](#section1087375135713) - [sim.getSimOperatorNumeric](#section1245831911019) - [sim.getSimOperatorNumeric](#section450711512119) - [sim.getSimSpn](#section18826326532) - [sim.getSimSpn](#section1862714201148) - [sim.getSimState](#section19837481195) - [sim.getSimState](#section1763675061914) - [sim.getSimGid1](#section18536193963119) - [sim.getSimGid1](#section14446155983211) - [SimState](#section17389192625218) >**说明:** > >标记7+的表示从API Version 7开始支持,未标记的表示从API Version 6开始支持。 ## 导入模块 ``` import sim from '@ohos.telephony.sim'; ``` ## sim.getSimIccId getSimIccId\(slotId: number, callback: AsyncCallback\): void 获取指定卡槽SIM卡的ICCID(Integrate Circuit Card Identity),使用callback方式作为异步方法。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

callback

AsyncCallback<string>

回调函数。

- 示例 ``` sim.getSimIccId(0, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sim.getSimIccId getSimIccId\(slotId: number\): Promise 获取指定卡槽SIM卡的ICCID(Integrate Circuit Card Identity),使用Promise方式作为异步方法。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

- 返回值

类型

说明

Promise<string>

以Promise形式返回指定卡槽的ICCID。

- 示例 ``` 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.getDefaultVoiceSlotId7+ getDefaultVoiceSlotId\(callback: AsyncCallback\): void7+ 获取默认语音业务的卡槽ID,使用callback方式作为异步方法。 - 参数

参数名

类型

必填

说明

callback

AsyncCallback<number>

回调函数。

- 示例 ``` sim.getDefaultVoiceSlotId((err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sim.getDefaultVoiceSlotId7+ getDefaultVoiceSlotId\(\): Promise7+ 获取默认语音业务的卡槽ID,使用Promise方式作为异步方法。 - 返回值

类型

说明

Promise<number>

以Promise形式返回默认语音业务的卡槽ID。

- 示例 ``` 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.getISOCountryCodeForSim getISOCountryCodeForSim\(slotId: number, callback: AsyncCallback\): void 获取指定卡槽SIM卡的ISO国家码,使用callback方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

callback

AsyncCallback<string>

回调函数。返回国家码,例如:CN(中国)。

- 示例 ``` 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方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

- 返回值

类型

说明

Promise<string>

以Promise形式返回获取指定卡槽SIM卡的ISO国家码,例如:CN(中国)。

- 示例 ``` 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方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

callback

AsyncCallback<string>

回调函数。

- 示例 ``` 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方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

- 返回值

类型

说明

Promise<string>

以Promise形式返回获取指定卡槽SIM卡的归属PLMN号。

- 示例 ``` 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方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

callback

AsyncCallback<string>

回调函数。

- 示例 ``` 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方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

- 返回值

类型

说明

Promise<string>

以Promise形式返回获取指定卡槽SIM卡的SPN。

- 示例 ``` 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方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

callback

AsyncCallback<SimState>

回调函数。参考SimState

- 示例 ``` sim.getSimState(0, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sim.getSimState getSimState\(slotId: number\): Promise 获取指定卡槽的SIM卡状态,使用Promise方式作为异步方法。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

- 返回值

类型

说明

Promise<SimState>

以Promise形式返回获取指定卡槽的SIM卡状态

- 示例 ``` 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.getSimGid1 getSimGid1\(slotId: number, callback: AsyncCallback\): void 获取指定卡槽SIM卡的GID1\(Group Identifier Level 1\),使用callback方式作为异步方法。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

callback

AsyncCallback<string>

回调函数。

- 示例 ``` sim.getSimGid1(0, (err, data) => { console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); }); ``` ## sim.getSimGid1 getSimGid1\(slotId: number\): Promise 获取指定卡槽SIM卡的GID1\(Group Identifier Level 1\),使用Promise方式作为异步方法。 需要ohos.permission.GET\_TELEPHONY\_STATE权限,该权限为系统权限。 - 参数

参数名

类型

必填

说明

slotId

number

卡槽ID。

0:卡槽1

1:卡槽2

- 返回值

类型

说明

Promise<string>

以Promise形式返回获取指定卡槽SIM卡的GID1(Group Identifier Level 1)

- 示例 ``` 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)}`); }); ``` ## SimState SIM卡状态。

变量

说明

SIM_STATE_UNKNOWN

SIM卡状态未知,即无法获取准确的状态。

SIM_STATE_NOT_PRESENT

表示SIM卡处于not present状态,即卡槽中没有插入SIM卡。

SIM_STATE_LOCKED

表示SIM卡处于locked状态,即SIM卡被PIN、PUK或网络锁锁定。

SIM_STATE_NOT_READY

表示SIM卡处于not ready状态,即SIM卡在位但无法正常工作。

SIM_STATE_READY

表示SIM卡处于ready状态,即SIM卡在位且工作正常。

SIM_STATE_LOADED

表示SIM卡处于loaded状态,即SIM卡在位且所有卡文件加载完毕。