鴻蒙OS 獲取當前蜂窩網絡信號信息

2020-09-18 15:45 更新

場景介紹

應用通常需要獲取用戶所在蜂窩網絡下信號信息,以便獲取當前駐網質量。開發(fā)者可以通過本業(yè)務,獲取到用戶指定 SIM 卡當前所在網絡下的信號信息。

接口說明

RadioInfoManager 類中提供了獲取當前網絡信號信息列表的方法。

功能分類 接口名 描述 所需權限
獲取管理對象 getInstance(Context context) 獲取網絡管理對象。
信號強度信息 getSignalInfoList(int slotId) 獲取當前注冊蜂窩網絡信號強度信息。

開發(fā)步驟

  1. 調用 RadioInfoManager 的 getInstance 接口,獲取到 RadioInfoManager 實例。

  1. 調用 getSignalInfoList(slotId) 方法,返回所有 SignalInformation 列表。

  1. 遍歷 SignalInformation 列表,并分別根據 signalNetworkType 轉換為對應制式的 SignalInformation 子類對象。

  1. 調用子類中的方法,獲取信號強度信息。

   // 獲取RadioInfoManager對象。
   RadioInfoManager radioInfoManager = RadioInfoManager.getInstance(context);

    
   // 獲取信號信息。
   List<SignalInformation> signalList = radioInfoManager.getSignalInfoList(slotId);

    
   // 檢查信號信息列表大小。
   if (signalList.size() == 0) {
       return;
   }
   // 依次遍歷list獲取當前駐網networkType對應的信號信息。
   LteSignalInformation lteSignal;
   for (SignalInformation signal : signalList) {
       int signalNetworkType = signal.getSignalNetworkType();
       if (signalNetworkType == TelephonyConstants.NETWORK_TYPE_LTE) {
           lteSignal = (LteSignalInformation) signal;
       }
   }
   // 調用子類中相應方法,獲取對應制式的信號強度信息。
   int signalLevel = lteSignal.getSignalLevel();
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號