OpenHarmony获取当前蜂窝网络信号信息

举报
坚果的博客 发表于 2022/08/14 22:20:48 2022/08/14
【摘要】 获取当前蜂窝网络信号信息场景介绍应用通常需要获取用户所在蜂窝网络下信号信息,以便获取当前驻网质量。大家可以通过本文,获取到用户指定SIM卡当前所在网络下的信号信息。接口说明radio模块提供了获取当前网络信号信息的方法。observer模块为开发者提供蜂窝网络状态订阅和取消订阅功能。radio.getSignalInformation():获取当前注册蜂窝网络信号强度信息。observer....

获取当前蜂窝网络信号信息

场景介绍

应用通常需要获取用户所在蜂窝网络下信号信息,以便获取当前驻网质量。大家可以通过本文,获取到用户指定SIM卡当前所在网络下的信号信息。

接口说明

radio模块提供了获取当前网络信号信息的方法。observer模块为开发者提供蜂窝网络状态订阅和取消订阅功能。

  • radio.getSignalInformation():获取当前注册蜂窝网络信号强度信息。

  • observer.on(‘signalInfoChange’):订阅蜂窝网络信号变化

  • observer.off(‘signalInfoChange’):取消订阅蜂窝网络信号变化

开发步骤

  1. import需要的模块。

    import radio from '@ohos.telephony.radio'
    import observer from '@ohos.telephony.observer';
  2. 调用getSignalInformation()方法,返回所有SignalInformation列表。

  3. 遍历SignalInformation数组,并分别根据不同的signalType得到不同制式的信号强度。

    // 以获取卡1的信号强度为例
    let slotId = 0;
    radio.getSignalInformation(slotId, (err, data) => {
        if (!err) {
            console.log("get signal information success.");
            // 遍历数组,输出不同网络制式下的信号强度
            for (let j = 0; j < data.length; j++) {
                console.log("type:" + data[j].signalType + ", level:" + data[j].signalLevel);
            }
        } else {
            console.log("get signal information fail, err is:" + JSON.stringify(err));
        }
    });


  4. 订阅蜂窝网络信号变化(可选)。

    ​
    ​
    // 订阅蜂窝网络信号变化(可选)
    observer.on("signalInfoChange", (data) => {
        console.log("signal info change, data is:" + JSON.stringify(data));
    });

完毕。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。