• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

entry/06-May-2025-1,072905

hvigor/06-May-2025-2422

screenshots/device/06-May-2025-

.gitignoreD06-May-2025143 1211

README_zh.mdD06-May-20253.7 KiB7452

build-profile.json5D06-May-20251 KiB4341

hvigorfile.tsD06-May-2025771 161

hvigorwD06-May-20252.1 KiB6228

hvigorw.batD06-May-20252 KiB7356

oh-package.json5D06-May-2025815 2725

ohosTest.mdD06-May-2025938 88

README_zh.md

1# 网络搜索
2
3### 介绍
4
5本示例通过[@ohos.telephony.sim](https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/reference/apis-telephony-kit/js-apis-sim.md) 、[@ohos.telephony.radio](https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/reference/apis-telephony-kit/js-apis-radio.md) 等接口来展示电话服务中网络搜索功能,包含无线接入技术、网络状态、选网模式、ISO国家码、信号强度信息列表及Radio是否打开
6
7### 效果预览
8|主页|
9|-----------------------------|
10|![](screenshots/device/main.png)|
11
12使用说明
13
141.点击**SIM1 status**,弹出面板显示卡1的无线接入技术、注册网络信号强度信息列表、选网模式、ISO国家码,
15再次点击面板消失, 点击**SIM2 status**显示同理;
16
172.**NetworkState**显示网络状态相关信息;
18
193.**IsRadioOn**显示Radio是否打开,true为打开,false为关闭。
20
21### 工程目录
22
23```
24entry/src/main/ets/
25|---common
26|   |---InfoView.ets                   // sim卡信息组件
27|   |---PanelView.ets                  // 网络信息组件
28|---entryAbility
29|---model
30|   |---Logger.ts                      // 日志工具
31|   |---RadioStatus.ts                 // 封装网络状态方法
32|   |---ResultModel.ts                 // 声明数据类型
33|---pages
34|   |---Index.ets                      // 首页
35```
36### 具体实现
37
38* 网络搜索功能的实现主要封装在RadioStatus,源码参考:[RadioStatus.ts](entry/src/main/ets/model/RadioStatus.ts) ,[PanelView.ets](entry/src/main/ets/common/PanelView.ets)
39    * 获取网络状态以及服务商名称:打开应用触发RadioStatus中的getNetworkState()函数调用radio.getNetworkState()方法来获取网络状态,getRadioOn()函数调用radio.isRadioOn()方法判断指定卡槽位的Radio是否打开,RadioStatus中的getSimSpn()函数调用sim.getSimSpn(slotId)方法来获取指定卡槽SIM卡的服务提供商名称(Service Provider Name,SPN)。
40    * 显示SIM卡信息:点击SIM status,弹出面板显示卡1的无线接入技术、注册网络信号强度信息列表、选网模式、ISO国家码。
41    * 获取无线接入技术:RadioStatus中的getRadioTech(this.slotId)函数来调用radio.getRadioTech(slotId)方法来获取当前接入的CS域和PS域无线接入技术,
42    * 获取指定SIM卡网络强度信息:getSignalInformation(this.slotId)函数来调用radio.getSignalInformation(slotId)方法来获取指定SIM卡槽对应的注册网络信号强度信息列表。
43    * 获取选网模式:getNetworkSelectionMode(this.slotId)函数来调用radio.getNetworkSelectionMode(slotId)方法来获取当前选网模式。
44    * 获取ISO国家码:getISOCountryCodeForNetwork(this.slotId)函数来调用radio.getISOCountryCodeForNetwork(slotId)方法来获取注册网络所在国家的ISO国家码。
45
46### 相关权限
47
48[ohos.permission.GET_NETWORK_INFO](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionget_network_info)
49
50### 依赖
51
52不涉及。
53
54### 约束与限制
55
561.本示例仅支持在标准系统上运行。
57
582.本示例需要插入SIM卡,目前该功能仅支持部分机型。
59
603.本示例已适配API version 9版本SDK,版本号:3.2.11.9。
61
624.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可编译运行。
63
64### 下载
65
66如需单独下载本工程,执行如下命令:
67```
68git init
69git config core.sparsecheckout true
70echo code/BasicFeature/Telephony/RadioTech/ > .git/info/sparse-checkout
71git remote add origin https://gitee.com/openharmony/applications_app_samples.git
72git pull origin master
73
74```