js-apis-radio.md 35.4 KB
Newer Older
Z
zengyawen 已提交
1 2
# 网络搜索

C
clevercong 已提交
3 4
网络搜索模块提供管理网络搜索的一些基础功能,包括获取当前接入的CS域和PS域无线接入技术、获取网络状态、获取当前选网模式、获取注册网络所在国家的ISO国家码、获取主卡所在卡槽的索引号、获取指定SIM卡槽对应的注册网络信号强度信息列表、获取运营商名称、获取设备的指定卡槽的IMEI、获取设备的指定卡槽的MEID、获取设备的指定卡槽的唯一设备ID,判断当前设备是否支持5G\(NR\)、判断主卡的Radio是否打开等。

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


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

```
import radio from '@ohos.telephony.radio'
```

C
clevercong 已提交
16
## radio.getRadioTech
C
clevercong 已提交
17 18 19 20 21

getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\>\): void

获取当前接入的CS域和PS域无线接入技术,使用callback方式作为异步方法。

C
clevercong 已提交
22
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
23

Y
YOUR_NAME 已提交
24 25
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
26
**参数:**
Z
zengyawen 已提交
27

Z
zengyawen 已提交
28 29 30
| 参数名   | 类型                                                         | 必填 | 说明                                   |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
31
| callback | AsyncCallback\<{psRadioTech: [RadioTechnology](#radiotechnology), csRadioTech:[RadioTechnology](#radiotechnology)}\> | 是   | 回调函数。                             |
C
clevercong 已提交
32

Z
zengyawen 已提交
33
**示例:**
C
clevercong 已提交
34

Z
zengyawen 已提交
35
```js
Z
zengyawen 已提交
36 37 38 39 40
let slotId = 0;
radio.getRadioTech(slotId, (err, data) =>{ 
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
41 42


C
clevercong 已提交
43
## radio.getRadioTech
C
clevercong 已提交
44 45 46 47 48

getRadioTech\(slotId: number\): Promise<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\>

获取当前接入的CS域和PS域无线接入技术,使用Promise方式作为异步方法。

C
clevercong 已提交
49
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
50

Y
YOUR_NAME 已提交
51 52
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
53
**参数:**
Z
zengyawen 已提交
54

Z
zengyawen 已提交
55 56 57
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
58

Z
zengyawen 已提交
59
**返回值:**
Z
zengyawen 已提交
60

Z
zengyawen 已提交
61 62
| 类型                                                         | 说明                                            |
| ------------------------------------------------------------ | ----------------------------------------------- |
C
clevercong 已提交
63
| Promise<{psRadioTech: [RadioTechnology](#radiotechnology), csRadioTech: [RadioTechnology](#radiotechnology)}> | 以Promise形式返回获取当前接入的CS域和PS域技术。 |
C
clevercong 已提交
64

Z
zengyawen 已提交
65
**示例:**
C
clevercong 已提交
66

Z
zengyawen 已提交
67
```js
Z
zengyawen 已提交
68 69 70 71 72 73 74 75
let slotId = 0;
let promise = radio.getRadioTech(slotId);
promise.then(data => {
    console.log(`getRadioTech success, data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getRadioTech fail, err->${JSON.stringify(err)}`);
});
```
C
clevercong 已提交
76 77


C
clevercong 已提交
78
## radio.getNetworkState
C
clevercong 已提交
79 80 81 82 83

getNetworkState\(callback: AsyncCallback<NetworkState\>\): void

获取网络状态,使用callback方式作为异步方法。

C
clevercong 已提交
84
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
85

Y
YOUR_NAME 已提交
86 87
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
88
**参数:**
Z
zengyawen 已提交
89

Z
zengyawen 已提交
90 91
| 参数名   | 类型                                           | 必填 | 说明       |
| -------- | ---------------------------------------------- | ---- | ---------- |
C
clevercong 已提交
92
| callback | AsyncCallback\<[NetworkState](#networkstate)\> | 是   | 回调函数。 |
C
clevercong 已提交
93

Z
zengyawen 已提交
94
**示例:**
C
clevercong 已提交
95

Z
zengyawen 已提交
96
```js
Z
zengyawen 已提交
97 98 99 100
radio.getNetworkState((err, data) =>{
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
101 102


C
clevercong 已提交
103
## radio.getNetworkState
C
clevercong 已提交
104 105 106 107 108

getNetworkState\(slotId: number, callback: AsyncCallback<NetworkState\>\): void

获取网络状态,使用callback方式作为异步方法。

C
clevercong 已提交
109
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
110

Y
YOUR_NAME 已提交
111 112
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
113
**参数:**
Z
zengyawen 已提交
114

Z
zengyawen 已提交
115 116 117
| 参数名   | 类型                                           | 必填 | 说明                                   |
| -------- | ---------------------------------------------- | ---- | -------------------------------------- |
| slotId   | number                                         | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
118
| callback | AsyncCallback\<[NetworkState](#networkstate)\> | 是   | 回调函数。                             |
C
clevercong 已提交
119

Z
zengyawen 已提交
120
**示例:**
C
clevercong 已提交
121

Z
zengyawen 已提交
122
```js
Z
zengyawen 已提交
123 124 125 126 127
let slotId = 0;
radio.getNetworkState(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
128 129


C
clevercong 已提交
130
## radio.getNetworkState
C
clevercong 已提交
131 132 133 134 135

getNetworkState\(slotId?: number\): Promise<NetworkState\>

获取网络状态,使用Promise方式作为异步方法。

C
clevercong 已提交
136
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
137

Y
YOUR_NAME 已提交
138 139
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
140
**参数:**
Z
zengyawen 已提交
141

Z
zengyawen 已提交
142 143 144
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
145

Z
zengyawen 已提交
146
**返回值:**
Z
zengyawen 已提交
147

Z
zengyawen 已提交
148 149
| 类型                                     | 说明                        |
| ---------------------------------------- | --------------------------- |
C
clevercong 已提交
150
| Promise\<[NetworkState](#networkstate)\> | 以Promise形式返回网络状态。 |
C
clevercong 已提交
151

Z
zengyawen 已提交
152
**示例:**
C
clevercong 已提交
153

Z
zengyawen 已提交
154
```js
Z
zengyawen 已提交
155 156 157 158 159 160 161 162
let slotId = 0;
let promise = radio.getNetworkState(slotId);
promise.then(data => {
    console.log(`getNetworkState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getNetworkState fail, promise: err->${JSON.stringify(err)}`);
});
```
C
clevercong 已提交
163 164


C
clevercong 已提交
165
## radio.getNetworkSelectionMode
C
clevercong 已提交
166 167 168 169 170

getNetworkSelectionMode\(slotId: number, callback: AsyncCallback<NetworkSelectionMode\>\): void

获取当前选网模式,使用callback方式作为异步方法。

Y
YOUR_NAME 已提交
171 172
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
173
**参数:**
Z
zengyawen 已提交
174

Z
zengyawen 已提交
175 176 177
| 参数名   | 类型                                                         | 必填 | 说明                                   |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
178
| callback | AsyncCallback\<[NetworkSelectionMode](#networkselectionmode)\> | 是   | 回调函数。                             |
C
clevercong 已提交
179

Z
zengyawen 已提交
180
**示例:**
C
clevercong 已提交
181

Z
zengyawen 已提交
182
```js
Z
zengyawen 已提交
183 184 185 186 187
let slotId = 0;
radio.getNetworkSelectionMode(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
188 189


C
clevercong 已提交
190
## radio.getNetworkSelectionMode
C
clevercong 已提交
191 192 193 194 195

getNetworkSelectionMode\(slotId: number\): Promise<NetworkSelectionMode\>

获取当前选网模式,使用Promise方式作为异步方法。

Y
YOUR_NAME 已提交
196 197
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
198
**参数:**
Z
zengyawen 已提交
199

Z
zengyawen 已提交
200 201 202
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
203

Z
zengyawen 已提交
204
**返回值:**
Z
zengyawen 已提交
205

Z
zengyawen 已提交
206 207
| 类型                                                     | 说明                            |
| -------------------------------------------------------- | ------------------------------- |
C
clevercong 已提交
208
| Promise\<[NetworkSelectionMode](#networkselectionmode)\> | 以Promise形式返回当前选网模式。 |
C
clevercong 已提交
209

Z
zengyawen 已提交
210
**示例:**
C
clevercong 已提交
211

Z
zengyawen 已提交
212
```js
Z
zengyawen 已提交
213 214 215 216 217 218 219 220
let slotId = 0;
let promise = radio.getNetworkSelectionMode(slotId);
promise.then(data => {
    console.log(`getNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getNetworkSelectionMode fail, promise: err->${JSON.stringify(err)}`);
});
```
C
clevercong 已提交
221 222


C
clevercong 已提交
223
## radio.getISOCountryCodeForNetwork<sup>7+</sup>
C
clevercong 已提交
224 225 226 227 228

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

获取注册网络所在国家的ISO国家码,使用callback方式作为异步方法。

Y
YOUR_NAME 已提交
229 230
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
231
**参数:**
Z
zengyawen 已提交
232

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

Z
zengyawen 已提交
238
**示例:**
C
clevercong 已提交
239

Z
zengyawen 已提交
240
```js
Z
zengyawen 已提交
241 242 243 244 245
let slotId = 0;
radio.getISOCountryCodeForNetwork(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
246 247


C
clevercong 已提交
248
## radio.getISOCountryCodeForNetwork<sup>7+</sup>
C
clevercong 已提交
249 250 251 252 253

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

获取注册网络所在国家的ISO国家码,使用Promise方式作为异步方法。

Y
YOUR_NAME 已提交
254 255
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
256
**参数:**
Z
zengyawen 已提交
257

Z
zengyawen 已提交
258 259 260
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
261

Z
zengyawen 已提交
262
**返回值:**
Z
zengyawen 已提交
263

Z
zengyawen 已提交
264 265 266
| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回注册网络所在国家的ISO国家码,例如CN(中国)。 |
C
clevercong 已提交
267

Z
zengyawen 已提交
268
**示例:**
C
clevercong 已提交
269

Z
zengyawen 已提交
270
```js
Z
zengyawen 已提交
271 272 273 274 275 276 277 278
let slotId = 0;
let promise = radio.getISOCountryCodeForNetwork(slotId);
promise.then(data => {
    console.log(`getISOCountryCodeForNetwork success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getISOCountryCodeForNetwork fail, promise: err->${JSON.stringify(err)}`);
});
```
C
clevercong 已提交
279 280


C
clevercong 已提交
281
## radio.getPrimarySlotId<sup>7+</sup>
Y
YOUR_NAME 已提交
282 283 284 285 286 287 288 289 290 291 292 293 294 295 296

getPrimarySlotId\(callback: AsyncCallback\<number\>\): void

获取主卡所在卡槽的索引号,使用callback方式作为异步方法。

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

**参数:**

| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback\<number\> | 是   | 回调函数 |

**示例:**

Z
zengyawen 已提交
297
```js
Y
YOUR_NAME 已提交
298 299 300 301 302 303
radio.getPrimarySlotId((err, data) => {
   console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


C
clevercong 已提交
304
## radio.getPrimarySlotId<sup>7+</sup>
Y
YOUR_NAME 已提交
305 306 307 308 309 310 311 312 313 314 315 316 317 318 319

getPrimarySlotId\(\): Promise\<number\>

获取主卡所在卡槽的索引号,使用Promise方式作为异步方法。

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

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<number\> | 以Promise形式返回获取设备主卡所在卡槽的索引号的结果。 |

**示例:**

Z
zengyawen 已提交
320
```js
Y
YOUR_NAME 已提交
321 322 323 324 325 326 327 328 329
let promise = radio.getPrimarySlotId();
promise.then(data => {
    console.log(`getPrimarySlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`getPrimarySlotId fail, promise: err->${JSON.stringify(err)}`);
});
```


C
clevercong 已提交
330
## radio.getSignalInformation<sup>7+</sup>
C
clevercong 已提交
331 332 333 334 335

getSignalInformation\(slotId: number, callback: AsyncCallback<Array<SignalInformation\>\>\): void

获取指定SIM卡槽对应的注册网络信号强度信息列表,使用callback方式作为异步方法。

Y
YOUR_NAME 已提交
336 337
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
338
**参数:**
Z
zengyawen 已提交
339

Z
zengyawen 已提交
340 341 342
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| slotId   | number                                                       | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2                       |
C
clevercong 已提交
343
| callback | AsyncCallback\<Array\<[SignalInformation](#signalinformation)\>\> | 是   | 回调函数,返回[SignalInformation](#signalinformation)对象的数组。 |
C
clevercong 已提交
344

Z
zengyawen 已提交
345
**示例:**
C
clevercong 已提交
346

Z
zengyawen 已提交
347
```js
Z
zengyawen 已提交
348 349 350 351 352
let slotId = 0;
radio.getSignalInformation(slotId, (err, data) => {
   console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
353 354


C
clevercong 已提交
355
## radio.getSignalInformation<sup>7+</sup>
C
clevercong 已提交
356 357 358 359 360

getSignalInformation\(slotId: number\): Promise<Array<SignalInformation\>\>

获取指定SIM卡槽对应的注册网络信号强度信息列表,使用Promise方式作为异步方法。

Y
YOUR_NAME 已提交
361 362
**系统能力**:SystemCapability.Telephony.CoreService

Z
zengyawen 已提交
363
**参数:**
Z
zengyawen 已提交
364

Z
zengyawen 已提交
365 366 367
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
Z
zengyawen 已提交
368

Z
zengyawen 已提交
369
**返回值:**
Z
zengyawen 已提交
370

Z
zengyawen 已提交
371 372
| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
C
clevercong 已提交
373
| Promise\<Array\<[SignalInformation](#signalinformation)\>\> | 以Promise形式返回网络信号强度[SignalInformation](#signalinformation)对象的数组。 |
C
clevercong 已提交
374

Z
zengyawen 已提交
375
**示例:**
C
clevercong 已提交
376

Z
zengyawen 已提交
377
```js
Z
zengyawen 已提交
378 379 380 381 382 383 384 385
let slotId = 0;
let promise = radio.getSignalInformation(slotId);
promise.then(data => {
    console.log(`getSignalInformation success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`getSignalInformation fail, promise: err->${JSON.stringify(err)}`);
});
```
C
clevercong 已提交
386 387


C
clevercong 已提交
388
## radio.isNrSupported<sup>8+</sup>
Y
YOUR_NAME 已提交
389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409

isNrSupported\(slotId: number\): boolean

判断当前设备是否支持5G\(NR\)

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

**参数:**

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

**返回值:**

| 类型               | 说明                                                         |
| ------------------ | ------------------------------------------------------------ |
| boolean | - true:支持<br/>- false:不支持 |

**示例:**

Z
zengyawen 已提交
410
```js
Y
YOUR_NAME 已提交
411 412
let slotId = 0;
let result = radio.isNrSupported(slotId);
413
console.log("Result: "+ result);
Y
YOUR_NAME 已提交
414 415 416
```


C
clevercong 已提交
417
## radio.isRadioOn<sup>7+</sup>
C
clevercong 已提交
418 419 420

isRadioOn\(callback: AsyncCallback<boolean\>\): void

Y
YOUR_NAME 已提交
421
判断主卡的Radio是否打开,使用callback方式作为异步方法。
C
clevercong 已提交
422

C
clevercong 已提交
423
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
424

Y
YOUR_NAME 已提交
425 426
**系统能力**:SystemCapability.Telephony.CoreService

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

Z
zengyawen 已提交
429 430 431
| 参数名   | 类型                     | 必填 | 说明                                                    |
| -------- | ------------------------ | ---- | ------------------------------------------------------- |
| callback | AsyncCallback\<boolean\> | 是   | 回调函数。<br/>- true:Radio打开<br/>- false:Radio关闭 |
C
clevercong 已提交
432

Z
zengyawen 已提交
433
**示例:**
C
clevercong 已提交
434

Z
zengyawen 已提交
435
```js
Z
zengyawen 已提交
436 437 438 439
radio.isRadioOn((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
C
clevercong 已提交
440 441


C
clevercong 已提交
442
## radio.isRadioOn<sup>7+</sup>
C
clevercong 已提交
443

Y
YOUR_NAME 已提交
444 445 446 447
isRadioOn\(slotId: number, callback: AsyncCallback<boolean\>\): void

判断指定卡槽位的Radio是否打开,使用callback方式作为异步方法。

C
clevercong 已提交
448
**需要权限**:ohos.permission.GET_NETWORK_INFO
Y
YOUR_NAME 已提交
449 450 451 452 453 454 455 456 457 458 459 460

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

**参数:**

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

**示例:**

Z
zengyawen 已提交
461
```js
Y
YOUR_NAME 已提交
462 463 464 465 466 467 468
let slotId = 0;
radio.isRadioOn(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


C
clevercong 已提交
469
## radio.isRadioOn<sup>7+</sup>
Y
YOUR_NAME 已提交
470 471

isRadioOn\(slotId?: number\): Promise<boolean\>
C
clevercong 已提交
472 473 474

判断Radio是否打开,使用Promise方式作为异步方法。

C
clevercong 已提交
475
**需要权限**:ohos.permission.GET_NETWORK_INFO
C
clevercong 已提交
476

Y
YOUR_NAME 已提交
477 478
**系统能力**:SystemCapability.Telephony.CoreService

Y
YOUR_NAME 已提交
479 480 481 482 483 484
**参数:**

| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2<br/>如果不指定slotId,默认判断主卡Radio是否打开 |

Z
zengyawen 已提交
485
**返回值:**
Z
zengyawen 已提交
486

Z
zengyawen 已提交
487 488 489
| 类型               | 说明                                                         |
| ------------------ | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回判断Radio是否打开的结果。<br/>- true:Radio打开<br/>- false:Radio关闭 |
C
clevercong 已提交
490

Z
zengyawen 已提交
491
**示例:**
C
clevercong 已提交
492

Z
zengyawen 已提交
493
```js
Y
YOUR_NAME 已提交
494 495
let slotId = 0;
let promise = radio.isRadioOn(slotId);
Z
zengyawen 已提交
496 497 498 499 500 501
promise.then(data => {
    console.log(`isRadioOn success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`isRadioOn fail, promise: err->${JSON.stringify(err)}`);
});
```
C
clevercong 已提交
502 503


C
clevercong 已提交
504
## radio.getOperatorName<sup>7+</sup>
Y
YOUR_NAME 已提交
505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520

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

获取运营商名称,使用callback方式作为异步方法。

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明                                       |
| -------- | ----------------------- | ---- | ------------------------------------------ |
| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2     |
| callback | AsyncCallback\<string\> | 是   | 回调函数。返回运营商名称,例如:中国移动。 |

**示例:**

Z
zengyawen 已提交
521
```js
Y
YOUR_NAME 已提交
522 523 524 525 526 527 528
let slotId = 0;
radio.getOperatorName(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


C
clevercong 已提交
529
## radio.getOperatorName<sup>7+</sup>
Y
YOUR_NAME 已提交
530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550

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

获取运营商名称,使用Promise方式作为异步方法。

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

**参数:**

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

**返回值:**

| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回运营商名称,例如:中国移动。                |

**示例:**

Z
zengyawen 已提交
551
```js
Y
YOUR_NAME 已提交
552 553 554 555 556 557 558 559 560
let slotId = 0;
let promise = radio.getOperatorName(slotId);
promise.then(data => {
    console.log(`getOperatorName success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getOperatorName fail, promise: err->${JSON.stringify(err)}`);
});
```

Y
YOUR_NAME 已提交
561 562 563 564 565 566
## radio.setPrimarySlotId<sup>8+</sup>

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

设置主卡所在卡槽的索引号,使用callback方式作为异步方法。

C
clevercong 已提交
567 568
此接口为系统接口。

Y
YOUR_NAME 已提交
569 570 571 572 573 574 575 576 577
**需要权限**:ohos.permission.SET_TELEPHONY_STATE

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

**参数:**

| 参数名   | 类型                  | 必填 | 说明                                   |
| -------- | --------------------- | ---- | -------------------------------------- |
| slotId   | number                | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
C
clevercong 已提交
578
| callback | AsyncCallback\<void\> | 是   | 回调函数。                             |
Y
YOUR_NAME 已提交
579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595

**示例:**

```js
let slotId = 0;
radio.setPrimarySlotId(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


## radio.setPrimarySlotId<sup>8+</sup>

setPrimarySlotId\(slotId: number\): Promise\<void\>

设置主卡所在卡槽的索引号,使用Promise方式作为异步方法。

C
clevercong 已提交
596 597
此接口为系统接口。

Y
YOUR_NAME 已提交
598 599 600 601 602 603 604 605 606 607 608 609 610 611
**需要权限**:ohos.permission.SET_TELEPHONY_STATE

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

**参数:**

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

**返回值:**

| 类型            | 说明                            |
| --------------- | ------------------------------- |
C
clevercong 已提交
612
| Promise\<void\> | 以Promise形式异步返回设置结果。 |
Y
YOUR_NAME 已提交
613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631

**示例:**

```js
let slotId = 0;
let promise = radio.setPrimarySlotId(slotId);
promise.then(data => {
    console.log(`setPrimarySlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`setPrimarySlotId fail, promise: err->${JSON.stringify(err)}`);
});
```

## radio.getIMEI<sup>8+</sup>

getIMEI(callback: AsyncCallback<string\>): void

获取设备的指定卡槽的IMEI,使用callback方式作为异步方法。

C
clevercong 已提交
632 633
此接口为系统接口。

Y
YOUR_NAME 已提交
634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明                                       |
| -------- | ----------------------- | ---- | ------------------------------------------ |
| callback | AsyncCallback\<string\> | 是   | 回调函数,如果IMEI不存在,则返回空字符串。 |

**示例:**

```js
radio.getIMEI((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


## radio.getIMEI<sup>8+</sup>

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

获取设备的指定卡槽的IMEI,使用callback方式作为异步方法。

C
clevercong 已提交
659 660
此接口为系统接口。

Y
YOUR_NAME 已提交
661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明                                       |
| -------- | ----------------------- | ---- | ------------------------------------------ |
| slotId   | number                  | 是   | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2     |
| callback | AsyncCallback\<string\> | 是   | 回调函数,如果IMEI不存在,则返回空字符串。 |

**示例:**

```js
let slotId = 0;
radio.getIMEI(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


## radio.getIMEI<sup>8+</sup>

getIMEI(slotId?: number): Promise<string\>

获取设备的指定卡槽的IMEI,使用Promise方式作为异步方法。

C
clevercong 已提交
688 689
此接口为系统接口。

Y
YOUR_NAME 已提交
690 691 692 693 694 695 696 697 698 699 700 701 702 703
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

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

**返回值:**

| 类型              | 说明                                       |
| ----------------- | ------------------------------------------ |
C
clevercong 已提交
704
| Promise\<string\> | 返回IMEI;如果IMEI不存在,则返回空字符串。 |
Y
YOUR_NAME 已提交
705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723

**示例:**

```js
let slotId = 0;
let promise = radio.getIMEI(slotId);
promise.then(data => {
    console.log(`getIMEI success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`getIMEI fail, promise: err->${JSON.stringify(err)}`);
});
```

## radio.getMEID<sup>8+</sup>

getMEID(callback: AsyncCallback<string\>): void

获取设备的指定卡槽的MEID,使用callback方式作为异步方法。

C
clevercong 已提交
724 725
此接口为系统接口。

Y
YOUR_NAME 已提交
726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明       |
| -------- | ----------------------- | ---- | ---------- |
| callback | AsyncCallback\<string\> | 是   | 回调函数。 |

**示例:**

```js
radio.getMEID((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


## radio.getMEID<sup>8+</sup>

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

获取设备的指定卡槽的MEID,使用callback方式作为异步方法。

C
clevercong 已提交
751 752
此接口为系统接口。

Y
YOUR_NAME 已提交
753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

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

**示例:**

```js
let slotId = 0;
radio.getMEID(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


## radio.getMEID<sup>8+</sup>

getMEID(slotId?: number): Promise<string\>

获取设备的指定卡槽的MEID,使用Promise方式作为异步方法。

C
clevercong 已提交
780 781
此接口为系统接口。

Y
YOUR_NAME 已提交
782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

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

**返回值:**

| 类型              | 说明                                    |
| ----------------- | --------------------------------------- |
| Promise\<string\> | 以Promise形式返回设备的指定卡槽的MEID。 |

**示例:**

```js
let slotId = 0;
let promise = radio.getMEID(slotId);
promise.then(data => {
    console.log(`getMEID success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`getMEID fail, promise: err->${JSON.stringify(err)}`);
});
```

## radio.getUniqueDeviceId<sup>8+</sup>

getUniqueDeviceId(callback: AsyncCallback<string\>): void

获取设备的指定卡槽的唯一设备ID,使用callback方式作为异步方法。

C
clevercong 已提交
816 817
此接口为系统接口。

Y
YOUR_NAME 已提交
818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明       |
| -------- | ----------------------- | ---- | ---------- |
| callback | AsyncCallback\<string\> | 是   | 回调函数。 |

**示例:**

```js
radio.getUniqueDeviceId((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


## radio.getUniqueDeviceId<sup>8+</sup>

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

获取设备的指定卡槽的唯一设备ID,使用callback方式作为异步方法。

C
clevercong 已提交
843 844
此接口为系统接口。

Y
YOUR_NAME 已提交
845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

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

**示例:**

```js
let slotId = 0;
radio.getUniqueDeviceId(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```


## radio.getUniqueDeviceId<sup>8+</sup>

getUniqueDeviceId(slotId?: number): Promise<string\>

获取设备的指定卡槽的唯一设备ID,使用Promise方式作为异步方法。

C
clevercong 已提交
872 873
此接口为系统接口。

Y
YOUR_NAME 已提交
874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900
**需要权限**:ohos.permission.GET_TELEPHONY_STATE

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

**参数:**

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

**返回值:**

| 类型              | 说明                                          |
| ----------------- | --------------------------------------------- |
| Promise\<string\> | 以Promise形式返回设备的指定卡槽的唯一设备ID。 |

**示例:**

```js
let slotId = 0;
let promise = radio.getUniqueDeviceId(slotId);
promise.then(data => {
    console.log(`getUniqueDeviceId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`getUniqueDeviceId fail, promise: err->${JSON.stringify(err)}`);
});
```
Y
YOUR_NAME 已提交
901

C
clevercong 已提交
902
## RadioTechnology
C
clevercong 已提交
903 904 905

无线接入技术。

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

| 名称                      | 值   | 说明                                                         |
Z
zengyawen 已提交
909
| ------------------------- | ---- | ------------------------------------------------------------ |
C
clevercong 已提交
910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925
| RADIO_TECHNOLOGY_UNKNOWN  | 0    | 未知无线接入技术(RAT)。                                    |
| RADIO_TECHNOLOGY_GSM      | 1    | 无线接入技术GSM(Global System For Mobile Communication)。  |
| RADIO_TECHNOLOGY_1XRTT    | 2    | 无线接入技术1XRTT(Single-Carrier Radio Transmission Technology)。 |
| RADIO_TECHNOLOGY_WCDMA    | 3    | 无线接入技术WCDMA(Wideband Code Division Multiple Access)。 |
| RADIO_TECHNOLOGY_HSPA     | 4    | 无线接入技术HSPA(High Speed Packet Access)。               |
| RADIO_TECHNOLOGY_HSPAP    | 5    | 无线接入技术HSPAP(High Speed packet access (HSPA+) )。     |
| RADIO_TECHNOLOGY_TD_SCDMA | 6    | 无线接入技术TDSCDMA(TimeDivision-Synchronous Code Division Multiple Access)。 |
| RADIO_TECHNOLOGY_EVDO     | 7    | 无线接入技术EVDO(Evolution、Data Only)。                   |
| RADIO_TECHNOLOGY_EHRPD    | 8    | 无线接入技术EHRPD(Evolved High Rate Package Data)。        |
| RADIO_TECHNOLOGY_LTE      | 9    | 无线接入技术LTE(Long Term Evolution)。                     |
| RADIO_TECHNOLOGY_LTE_CA   | 10   | 无线接入技术LTE_CA(Long Term Evolution_Carrier Aggregation)。 |
| RADIO_TECHNOLOGY_IWLAN    | 11   | 无线接入技术IWLAN(Industrial Wireless LAN)。               |
| RADIO_TECHNOLOGY_NR       | 12   | 无线接入技术NR(New Radio)。                                |


## SignalInformation
C
clevercong 已提交
926 927 928

网络信号强度信息对象。

C
clevercong 已提交
929 930 931 932 933 934
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

| 参数名      | 类型                        | 说明               |
| ----------- | --------------------------- | ------------------ |
| signalType  | [NetworkType](#networktype) | 网络信号强度类型。 |
| signalLevel | number                      | 网络信号强度等级。 |
Z
zengyawen 已提交
935 936


C
clevercong 已提交
937
## NetworkType
C
clevercong 已提交
938 939 940

网络类型。

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

| 名称                 | 值   | 说明                                                         |
Z
zengyawen 已提交
944
| -------------------- | ---- | ------------------------------------------------------------ |
C
clevercong 已提交
945 946 947 948 949 950 951
| NETWORK_TYPE_UNKNOWN | 0    | 未知网络类型。                                               |
| NETWORK_TYPE_GSM     | 1    | 网络类型为GSM(Global System For Mobile Communication)。    |
| NETWORK_TYPE_CDMA    | 2    | 网络类型为CDMA(Code Division Multiple Access)。            |
| NETWORK_TYPE_WCDMA   | 3    | 网络类型为WCDMA(Wideband Code Division Multiple Access)。  |
| NETWORK_TYPE_TDSCDMA | 4    | 网络类型为TDSCDMA(TimeDivision-Synchronous Code Division Multiple Access)。 |
| NETWORK_TYPE_LTE     | 5    | 网络类型为LTE(Long Term Evolution)。                       |
| NETWORK_TYPE_NR      | 6    | 网络类型为5G NR(New Radio)。                               |
Z
zengyawen 已提交
952

C
clevercong 已提交
953
## NetworkState
C
clevercong 已提交
954 955 956

网络注册状态。

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

| 名称            | 类型                  | 说明                                                         |
Y
YOUR_NAME 已提交
960
| ----------------- | --------------------- | ------------------------------------------------------------ |
C
clevercong 已提交
961 962 963 964 965 966
| longOperatorName  | string                | 注册网络的长运营商名称。 |
| shortOperatorName | string                | 注册网络的短运营商名称。 |
| plmnNumeric       | string                | 注册网络的PLMN码。 |
| isRoaming         | boolean               | 是否处于漫游状态。 |
| regState          | [RegState](#regstate) | 设备的网络注册状态。 |
| cfgTech<sup>8+</sup> | [RadioTechnology](#radiotechnology) | 设备的无线接入技术。 |
Z
zengyawen 已提交
967
| nsaState          | [NsaState](#nsastate) | 设备的NSA网络注册状态。 |
C
clevercong 已提交
968 969
| isCaActive        | boolean               | CA的状态。 |
| isEmergency       | boolean               | 此设备是否只允许拨打紧急呼叫。 |
Z
zengyawen 已提交
970 971


C
clevercong 已提交
972
## RegState
C
clevercong 已提交
973 974 975

网络注册状态。

C
clevercong 已提交
976
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。
Z
zengyawen 已提交
977

C
clevercong 已提交
978 979 980 981 982 983
| 名称                          | 值   | 说明                       |
| ----------------------------- | ---- | -------------------------- |
| REG_STATE_NO_SERVICE          | 0    | 设备不能使用任何服务。     |
| REG_STATE_IN_SERVICE          | 1    | 设备可以正常使用业务。     |
| REG_STATE_EMERGENCY_CALL_ONLY | 2    | 设备只能使用紧急呼叫业务。 |
| REG_STATE_POWER_OFF           | 3    | 蜂窝无线电已关闭。         |
Z
zengyawen 已提交
984

C
clevercong 已提交
985 986

## NsaState
C
clevercong 已提交
987 988 989

非独立组网状态。

C
clevercong 已提交
990 991 992 993 994 995 996 997 998 999
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

| 名称                       | 值   | 说明                                                       |
| -------------------------- | ---- | ---------------------------------------------------------- |
| NSA_STATE_NOT_SUPPORT      | 1    | 设备在不支持NSA的LTE小区下处于空闲状态或连接状态。         |
| NSA_STATE_NO_DETECT        | 2    | 在支持NSA但不支持NR覆盖检测的LTE小区下,设备处于空闲状态。 |
| NSA_STATE_CONNECTED_DETECT | 3    | 设备在LTE小区下连接到LTE网络支持NSA和NR覆盖检测。          |
| NSA_STATE_IDLE_DETECT      | 4    | 支持NSA和NR覆盖检测的LTE小区下设备处于空闲状态。           |
| NSA_STATE_DUAL_CONNECTED   | 5    | 设备在支持NSA的LTE小区下连接到LTE + NR网络。               |
| NSA_STATE_SA_ATTACHED      | 6    | 设备在5GC附着时在NG-RAN小区下空闲或连接到NG-RAN小区。      |
Z
zengyawen 已提交
1000 1001


C
clevercong 已提交
1002
## NetworkSelectionMode
C
clevercong 已提交
1003 1004 1005

选网模式。

C
clevercong 已提交
1006 1007 1008 1009 1010 1011 1012
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

| 名称                        | 值   | 说明           |
| --------------------------- | ---- | -------------- |
| NETWORK_SELECTION_UNKNOWN   | 0    | 未知选网模式。 |
| NETWORK_SELECTION_AUTOMATIC | 1    | 自动选网模式。 |
| NETWORK_SELECTION_MANUAL    | 2    | 手动选网模式。 |
Y
YOUR_NAME 已提交
1013