回复
     HarmonyOS开发-观察蜂窝网络状态变化开发体验
鸿蒙时代
 发布于 2022-3-14 18:05
 浏览
 0收藏
应用可以通过观察蜂窝网络状态变化,来接收最新蜂窝网络服务状态信息、信号信息等。在harmonyOS中,RadioStateObserver类中提供了观察蜂窝网络状态变化的方法。
代码如下所示:
public class MainAbility extends AceAbility {
    private static final HiLogLabel TAG = new HiLogLabel(HiLog.LOG_APP,0x0,"网络");
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        // 获取RadioInfoManager对象。
        RadioInfoManager radioInfoManager = RadioInfoManager.getInstance(getContext());
        // 执行回调的runner。
        EventRunner runner = EventRunner.create();
// 创建MyRadioStateObserver的对象。
        MyRadioStateObserver observer = new MyRadioStateObserver(1, runner);
// 添加回调,以NETWORK_STATE和SIGNAL_INFO为例。
        radioInfoManager.addObserver(observer, RadioStateObserver.OBSERVE_MASK_NETWORK_STATE | RadioStateObserver.OBSERVE_MASK_SIGNAL_INFO);
    }
    // 创建继承RadioStateObserver的类MyRadioStateObserver
    class MyRadioStateObserver extends RadioStateObserver {
        // 构造方法,在当前线程的runner中执行回调,slotId需要传入要观察的卡槽ID(0或1)。
        MyRadioStateObserver(int slotId) {
            super(slotId);
        }
        // 构造方法,在执行runner中执行回调。
        MyRadioStateObserver(int slotId, EventRunner runner) {
            super(slotId, runner);
        }
        // 网络注册状态变化的回调方法。
        @Override
        public void onNetworkStateUpdated(NetworkState state) {
            HiLog.info(TAG,"网络注册状态变化:"+state.toString());
        }
        // 信号信息变化的回调方法。
        @Override
        public void onSignalInfoUpdated(List<SignalInformation> signalInfos) {
            HiLog.info(TAG,"信号信息变化:"+signalInfos.toString());
        }
    }
    @Override
    public void onStop() {
        super.onStop();
    }
}
分类 
 标签 
 HarmonyOS开发-观察蜂窝网络状态变化开发体.docx 19.58K 18次下载  
RadioState-观察蜂窝网络状态变化.rar 3.13M 11次下载  
        赞
        2
 
        收藏 
      
 回复
  相关推荐
 



















