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 77
**系统能力:**SystemCapability.Communication.CoreService

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 100
**系统能力:**SystemCapability.Communication.CoreService

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 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
## sim.hasOperatorPrivileges<sup>7+</sup>

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

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

**系统能力:**SystemCapability.Communication.CoreService

**参数:**

| 参数名   | 类型                     | 必填 | 说明                                     |
| -------- | ------------------------ | ---- | ---------------------------------------- |
| 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>

hasOperatorPrivileges(slotId: number): Promise<boolean>

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

**系统能力:**SystemCapability.Communication.CoreService

**参数:**

| 参数名 | 类型   | 必填 | 说明                                     |
| ------ | ------ | ---- | ---------------------------------------- |
| 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 179
**系统能力:**SystemCapability.Communication.CoreService

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 203
**系统能力:**SystemCapability.Communication.CoreService

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 235
**系统能力:**SystemCapability.Communication.CoreService

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 259
**系统能力:**SystemCapability.Communication.CoreService

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 291
**系统能力:**SystemCapability.Communication.CoreService

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 315
**系统能力:**SystemCapability.Communication.CoreService

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 347
**系统能力:**SystemCapability.Communication.CoreService

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 371
**系统能力:**SystemCapability.Communication.CoreService

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 560
|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_CARD | 60 | 单一ISIM卡类型 |