js-apis-sim.md 18.1 KB
Newer Older
Z
zengyawen 已提交
1 2
# SIM卡管理

C
clevercong 已提交
3 4
>**说明:** 
>
Z
zengyawen 已提交
5
>本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
C
clevercong 已提交
6
>
C
clevercong 已提交
7

Z
zengyawen 已提交
8
## 导入模块
C
clevercong 已提交
9 10 11 12 13

```
import sim from '@ohos.telephony.sim';
```

C
clevercong 已提交
14
## sim.isSimActive<sup>7+</sup>
C
clevercong 已提交
15

M
maosiping 已提交
16
isSimActive\(slotId: number, callback: AsyncCallback<boolean\>\): void
C
clevercong 已提交
17

M
maosiping 已提交
18
获取指定卡槽SIM卡是否激活,使用callback方式作为异步方法。
C
clevercong 已提交
19

C
clevercong 已提交
20
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
21

Z
zengyawen 已提交
22
**参数:**
C
clevercong 已提交
23

Z
zengyawen 已提交
24 25 26
| 参数名   | 类型                        | 必填 | 说明                                   |
| -------- | --------------------------- | ---- | -------------------------------------- |
| slotId   | number                      | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
M
maosiping 已提交
27
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。                             |
C
clevercong 已提交
28

Z
zengyawen 已提交
29
**示例:**
C
clevercong 已提交
30

Z
zengyawen 已提交
31
```
M
maosiping 已提交
32
sim.isSimActive(0, (err, data) => {
Z
zengyawen 已提交
33 34 35
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
36 37


C
clevercong 已提交
38
## sim.isSimActive<sup>7+</sup>
C
clevercong 已提交
39

C
clevercong 已提交
40
isSimActive\(slotId: number\): Promise<boolean\>
C
clevercong 已提交
41

M
maosiping 已提交
42
获取指定卡槽SIM卡是否激活,使用Promise方式作为异步方法。
C
clevercong 已提交
43

C
clevercong 已提交
44
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
45

Z
zengyawen 已提交
46
**参数:**
C
clevercong 已提交
47

Z
zengyawen 已提交
48 49 50
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
51

Z
zengyawen 已提交
52
**返回值:**
C
clevercong 已提交
53

Z
zengyawen 已提交
54 55
| 类型                  | 说明                               |
| --------------------- | ---------------------------------- |
M
maosiping 已提交
56
| Promise&lt;boolean&gt; | 以Promise形式返回指定卡槽是否激活,如果激活返回true。 |
C
clevercong 已提交
57

Z
zengyawen 已提交
58
**示例:**
C
clevercong 已提交
59

Z
zengyawen 已提交
60
```
M
maosiping 已提交
61
let promise = sim.isSimActive(0);
Z
zengyawen 已提交
62
promise.then(data => {
M
maosiping 已提交
63
    console.log(`isSimActive success, promise: data->${JSON.stringify(data)}`);
Z
zengyawen 已提交
64
}).catch(err => {
M
maosiping 已提交
65
    console.log(`isSimActive fail, promise: err->${JSON.stringify(err)}`);
Z
zengyawen 已提交
66 67
});
```
C
clevercong 已提交
68

M
maosiping 已提交
69

C
clevercong 已提交
70
## sim.getDefaultVoiceSlotId<sup>7+</sup>
C
clevercong 已提交
71

Z
zengyawen 已提交
72
getDefaultVoiceSlotId\(callback: AsyncCallback<number\>\): void
C
clevercong 已提交
73 74 75

获取默认语音业务的卡槽ID,使用callback方式作为异步方法。

C
clevercong 已提交
76
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
77

Z
zengyawen 已提交
78
**参数:**
C
clevercong 已提交
79

Z
zengyawen 已提交
80 81 82
| 参数名   | 类型                        | 必填 | 说明       |
| -------- | --------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。 |
C
clevercong 已提交
83

Z
zengyawen 已提交
84
**示例:**
C
clevercong 已提交
85

Z
zengyawen 已提交
86 87 88 89 90
```
sim.getDefaultVoiceSlotId((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
91 92


C
clevercong 已提交
93
## sim.getDefaultVoiceSlotId<sup>7+</sup>
C
clevercong 已提交
94

Z
zengyawen 已提交
95
getDefaultVoiceSlotId\(\): Promise<number\>
C
clevercong 已提交
96 97 98

获取默认语音业务的卡槽ID,使用Promise方式作为异步方法。

C
clevercong 已提交
99
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
100

Z
zengyawen 已提交
101
**返回值:**
Z
zengyawen 已提交
102

Z
zengyawen 已提交
103 104 105
| 类型              | 说明                                    |
| ----------------- | --------------------------------------- |
| Promise\<number\> | 以Promise形式返回默认语音业务的卡槽ID。 |
C
clevercong 已提交
106

Z
zengyawen 已提交
107
**示例:**
C
clevercong 已提交
108

Z
zengyawen 已提交
109 110 111 112 113 114 115 116
```
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)}`);
});
```
C
clevercong 已提交
117

C
clevercong 已提交
118 119 120 121 122 123
## sim.hasOperatorPrivileges<sup>7+</sup>

hasOperatorPrivileges(slotId: number, callback: AsyncCallback\<boolean\>): void

检查应用(调用者)是否已被授予运营商权限,使用callback方式作为异步方法。

C
clevercong 已提交
124
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142

**参数:**

| 参数名   | 类型                     | 必填 | 说明                                     |
| -------- | ------------------------ | ---- | ---------------------------------------- |
| slotId   | number                   | 是   | 卡槽ID。<br />- 0:卡槽1<br />- 1:卡槽2 |
| callback | AsyncCallback\<boolean\> | 是   | 回调函数。                               |

**示例:**

```
sim.hasOperatorPrivileges(0, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```

## sim.hasOperatorPrivileges<sup>7+</sup>

C
clevercong 已提交
143
hasOperatorPrivileges(slotId: number): Promise<boolean\>
C
clevercong 已提交
144 145 146

检查应用(调用者)是否已被授予运营商权限,使用Promise方式作为异步方法。

C
clevercong 已提交
147
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

**参数:**

| 参数名 | 类型   | 必填 | 说明                                     |
| ------ | ------ | ---- | ---------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br />- 0:卡槽1<br />- 1:卡槽2 |

**返回值:**

| 类型               | 说明                                                        |
| :----------------- | :---------------------------------------------------------- |
| Promise\<boolean\> | 以Promise形式返回检查应用(调用者)是否已被授予运营商权限。 |

**示例:**

```
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)}`);
});
```
M
maosiping 已提交
171

C
clevercong 已提交
172
## sim.getISOCountryCodeForSim
C
clevercong 已提交
173 174 175 176 177

getISOCountryCodeForSim\(slotId: number, callback: AsyncCallback<string\>\): void

获取指定卡槽SIM卡的ISO国家码,使用callback方式作为异步方法。

C
clevercong 已提交
178
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
179

Z
zengyawen 已提交
180
**参数:**
C
clevercong 已提交
181

Z
zengyawen 已提交
182 183 184 185
| 参数名   | 类型                    | 必填 | 说明                                     |
| -------- | ----------------------- | ---- | ---------------------------------------- |
| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2   |
| callback | AsyncCallback\<string\> | 是   | 回调函数。返回国家码,例如:CN(中国)。 |
C
clevercong 已提交
186

Z
zengyawen 已提交
187
**示例:**
C
clevercong 已提交
188

Z
zengyawen 已提交
189 190 191 192 193
```
sim.getISOCountryCodeForSim(0, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
194 195


C
clevercong 已提交
196
## sim.getISOCountryCodeForSim
C
clevercong 已提交
197 198 199 200 201

getISOCountryCodeForSim\(slotId: number\): Promise<string\>

获取指定卡槽SIM卡的ISO国家码,使用Promise方式作为异步方法。

C
clevercong 已提交
202
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
203

Z
zengyawen 已提交
204
**参数:**
C
clevercong 已提交
205

Z
zengyawen 已提交
206 207 208
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
209

Z
zengyawen 已提交
210
**返回值:**
Z
zengyawen 已提交
211

Z
zengyawen 已提交
212 213 214
| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的ISO国家码,例如:CN(中国)。 |
C
clevercong 已提交
215

Z
zengyawen 已提交
216
**示例:**
C
clevercong 已提交
217

Z
zengyawen 已提交
218 219 220 221 222 223 224 225
```
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)}`);
});
```
C
clevercong 已提交
226 227


C
clevercong 已提交
228
## sim.getSimOperatorNumeric
C
clevercong 已提交
229 230 231 232 233

getSimOperatorNumeric\(slotId: number, callback: AsyncCallback<string\>\): void

获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用callback方式作为异步方法。

C
clevercong 已提交
234
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
235

Z
zengyawen 已提交
236
**参数:**
C
clevercong 已提交
237

Z
zengyawen 已提交
238 239 240 241
| 参数名   | 类型                    | 必填 | 说明                                   |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是   | 回调函数。                             |
C
clevercong 已提交
242

Z
zengyawen 已提交
243
**示例:**
C
clevercong 已提交
244

Z
zengyawen 已提交
245 246 247 248 249
```
sim.getSimOperatorNumeric(0, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
250 251


C
clevercong 已提交
252
## sim.getSimOperatorNumeric
C
clevercong 已提交
253 254 255 256 257

getSimOperatorNumeric\(slotId: number\): Promise<string\>

获取指定卡槽SIM卡的归属PLMN(Public Land Mobile Network)号,使用Promise方式作为异步方法。

C
clevercong 已提交
258
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
259

Z
zengyawen 已提交
260
**参数:**
Z
zengyawen 已提交
261

Z
zengyawen 已提交
262 263 264
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
265

Z
zengyawen 已提交
266
**返回值:**
C
clevercong 已提交
267

Z
zengyawen 已提交
268 269 270
| 类型              | 说明                                             |
| ----------------- | ------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的归属PLMN号。 |
C
clevercong 已提交
271

Z
zengyawen 已提交
272
**示例:**
C
clevercong 已提交
273

Z
zengyawen 已提交
274 275 276 277 278 279 280 281
```
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)}`);
});
```
C
clevercong 已提交
282 283


C
clevercong 已提交
284
## sim.getSimSpn
C
clevercong 已提交
285 286 287 288 289

getSimSpn\(slotId: number, callback: AsyncCallback<string\>\): void

获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用callback方式作为异步方法。

C
clevercong 已提交
290
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
291

Z
zengyawen 已提交
292
**参数:**
C
clevercong 已提交
293

Z
zengyawen 已提交
294 295 296 297
| 参数名   | 类型                    | 必填 | 说明                                   |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是   | 回调函数。                             |
C
clevercong 已提交
298

Z
zengyawen 已提交
299
**示例:**
C
clevercong 已提交
300

Z
zengyawen 已提交
301 302 303 304 305
```
sim.getSimSpn(0, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
306 307


C
clevercong 已提交
308
## sim.getSimSpn
C
clevercong 已提交
309 310 311 312 313

getSimSpn\(slotId: number\): Promise<string\>

获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN),使用Promise方式作为异步方法。

C
clevercong 已提交
314
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
315

Z
zengyawen 已提交
316
**参数:**
C
clevercong 已提交
317

Z
zengyawen 已提交
318 319 320
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
321

Z
zengyawen 已提交
322
**返回值:**
C
clevercong 已提交
323

Z
zengyawen 已提交
324 325 326
| 类型              | 说明                                      |
| ----------------- | ----------------------------------------- |
| Promise\<string\> | 以Promise形式返回获取指定卡槽SIM卡的SPN。 |
C
clevercong 已提交
327

Z
zengyawen 已提交
328
**示例:**
C
clevercong 已提交
329

Z
zengyawen 已提交
330 331 332 333 334 335 336 337
```
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)}`);
});
```
C
clevercong 已提交
338 339


C
clevercong 已提交
340
## sim.getSimState
C
clevercong 已提交
341 342 343 344 345

getSimState\(slotId: number, callback: AsyncCallback<SimState\>\): void

获取指定卡槽的SIM卡状态,使用callback方式作为异步方法。

C
clevercong 已提交
346
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
347

Z
zengyawen 已提交
348
**参数:**
C
clevercong 已提交
349

Z
zengyawen 已提交
350 351 352
| 参数名   | 类型                                   | 必填 | 说明                                   |
| -------- | -------------------------------------- | ---- | -------------------------------------- |
| slotId   | number                                 | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
353
| callback | AsyncCallback\<[SimState](#simState)\> | 是   | 回调函数。参考[SimState](#simState)。  |
C
clevercong 已提交
354

Z
zengyawen 已提交
355
**示例:**
C
clevercong 已提交
356

Z
zengyawen 已提交
357 358 359 360 361
```
sim.getSimState(0, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
362 363


C
clevercong 已提交
364
## sim.getSimState
C
clevercong 已提交
365 366 367 368 369

getSimState\(slotId: number\): Promise<SimState\>

获取指定卡槽的SIM卡状态,使用Promise方式作为异步方法。

C
clevercong 已提交
370
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
371

Z
zengyawen 已提交
372
**参数:**
C
clevercong 已提交
373

Z
zengyawen 已提交
374 375 376
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
377

Z
zengyawen 已提交
378
**返回值:**
C
clevercong 已提交
379

Z
zengyawen 已提交
380 381
| 类型                             | 说明                                       |
| -------------------------------- | ------------------------------------------ |
C
clevercong 已提交
382
| Promise\<[SimState](#simState)\> | 以Promise形式返回获取指定卡槽的SIM卡状态。 |
C
clevercong 已提交
383

Z
zengyawen 已提交
384
**示例:**
C
clevercong 已提交
385

Z
zengyawen 已提交
386 387 388 389 390 391 392 393
```
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)}`);
});
```
C
clevercong 已提交
394

C
clevercong 已提交
395
## sim.getCardType<sup>7+</sup>
C
clevercong 已提交
396

M
maosiping 已提交
397
getCardType\(slotId: number, callback: AsyncCallback<CardType\>\): void
C
clevercong 已提交
398

M
maosiping 已提交
399
获取指定卡槽SIM卡的卡类型,使用callback方式作为异步方法。
C
clevercong 已提交
400

C
clevercong 已提交
401
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
402

Z
zengyawen 已提交
403
**参数:**
C
clevercong 已提交
404

Z
zengyawen 已提交
405 406 407
| 参数名   | 类型                    | 必填 | 说明                                   |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
408
| callback | AsyncCallback\<[CardType](#cardtype7)\> | 是   | 回调函数。                             |
C
clevercong 已提交
409

Z
zengyawen 已提交
410
**示例:**
C
clevercong 已提交
411

Z
zengyawen 已提交
412
```
M
maosiping 已提交
413
sim.getCardType(0, (err, data) => {
Z
zengyawen 已提交
414 415 416
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
417 418


C
clevercong 已提交
419
## sim.getCardType<sup>7+</sup>
C
clevercong 已提交
420

M
maosiping 已提交
421
getCardType\(slotId: number\): Promise<CardType\>
C
clevercong 已提交
422

M
maosiping 已提交
423
获取指定卡槽SIM卡的卡类型,使用Promise方式作为异步方法。
C
clevercong 已提交
424

C
clevercong 已提交
425
**系统能力**:SystemCapability.Communication.CoreService
C
clevercong 已提交
426

Z
zengyawen 已提交
427
**参数:**
C
clevercong 已提交
428

Z
zengyawen 已提交
429 430 431
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
432

Z
zengyawen 已提交
433
**返回值:**
C
clevercong 已提交
434

Z
zengyawen 已提交
435 436
| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
C
clevercong 已提交
437
| Promise\<[CardType](#cardtype7)\> | 以Promise形式返回指定卡槽SIM卡的卡类型。 |
C
clevercong 已提交
438

Z
zengyawen 已提交
439
**示例:**
C
clevercong 已提交
440

Z
zengyawen 已提交
441
```
M
maosiping 已提交
442
let promise = sim.getCardType(0);
Z
zengyawen 已提交
443
promise.then(data => {
M
maosiping 已提交
444
    console.log(`getCardType success, promise: data->${JSON.stringify(data)}`);
Z
zengyawen 已提交
445
}).catch(err => {
M
maosiping 已提交
446
    console.log(`getCardType fail, promise: err->${JSON.stringify(err)}`);
Z
zengyawen 已提交
447 448
});
```
C
clevercong 已提交
449 450


C
clevercong 已提交
451
## sim.hasSimCard<sup>7+</sup>
M
maosiping 已提交
452 453 454

hasSimCard\(slotId: number, callback: AsyncCallback<boolean\>\): void

M
maosiping 已提交
455
获取指定卡槽SIM卡是否插卡,使用callback方式作为异步方法。
M
maosiping 已提交
456

C
clevercong 已提交
457
**系统能力**:SystemCapability.Communication.CoreService
M
maosiping 已提交
458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474

**参数:**

| 参数名   | 类型                        | 必填 | 说明                                   |
| -------- | --------------------------- | ---- | -------------------------------------- |
| slotId   | number                      | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。                             |

**示例:**

```
sim.hasSimCard(0, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


C
clevercong 已提交
475
## sim.hasSimCard<sup>7+</sup>
M
maosiping 已提交
476

C
clevercong 已提交
477
hasSimCard\(slotId: number\): Promise<boolean\>
M
maosiping 已提交
478

M
maosiping 已提交
479
获取指定卡槽SIM卡是否插卡,使用Promise方式作为异步方法。
M
maosiping 已提交
480

C
clevercong 已提交
481
**系统能力**:SystemCapability.Communication.CoreService
M
maosiping 已提交
482 483 484 485 486 487 488 489 490 491 492

**参数:**

| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |

**返回值:**

| 类型                  | 说明                               |
| --------------------- | ---------------------------------- |
M
maosiping 已提交
493
| Promise&lt;boolean&gt; | 以Promise形式返回指定卡槽是否插卡,如果插卡返回true。 |
M
maosiping 已提交
494 495 496 497 498 499 500 501 502 503 504 505 506

**示例:**

```
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)}`);
});
```


C
clevercong 已提交
507
## sim.getMaxSimCount<sup>7+</sup>
M
maosiping 已提交
508 509 510 511 512

getMaxSimCount\(\): number

获取卡槽数量。

C
clevercong 已提交
513
**系统能力**:SystemCapability.Communication.CoreService
M
maosiping 已提交
514 515 516 517 518 519 520 521 522 523 524 525 526 527

**返回值:**

| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
| number | 卡槽数量。 |

**示例:**

```
console.log(sim.getMaxSimCount())
```


C
clevercong 已提交
528
## SimState
C
clevercong 已提交
529 530 531

SIM卡状态。

C
clevercong 已提交
532
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。
M
maosiping 已提交
533

C
clevercong 已提交
534 535 536 537 538 539 540 541 542 543
| 名称                  | 值   | 说明                                                       |
| --------------------- | ---- | ---------------------------------------------------------- |
| 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卡在位且所有卡文件加载完毕。 |

## CardType<sup>7+</sup>
M
maosiping 已提交
544 545 546

卡类型。

C
clevercong 已提交
547 548 549
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

| 名称 | 值 | 说明 |
M
maosiping 已提交
550
| ----- | ----- | ----- |
C
clevercong 已提交
551 552 553 554 555 556 557 558 559
|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卡 |
560
|SINGLE_MODE_ISIM_CARD<sup>8+</sup> | 60 | 单一ISIM卡类型 |