鴻蒙OS 獲取當(dāng)前蜂窩網(wǎng)絡(luò)信號(hào)信息

2020-09-18 15:45 更新

場(chǎng)景介紹

應(yīng)用通常需要獲取用戶(hù)所在蜂窩網(wǎng)絡(luò)下信號(hào)信息,以便獲取當(dāng)前駐網(wǎng)質(zhì)量。開(kāi)發(fā)者可以通過(guò)本業(yè)務(wù),獲取到用戶(hù)指定 SIM 卡當(dāng)前所在網(wǎng)絡(luò)下的信號(hào)信息。

接口說(shuō)明

RadioInfoManager 類(lèi)中提供了獲取當(dāng)前網(wǎng)絡(luò)信號(hào)信息列表的方法。

功能分類(lèi) 接口名 描述 所需權(quán)限
獲取管理對(duì)象 getInstance(Context context) 獲取網(wǎng)絡(luò)管理對(duì)象。 無(wú)
信號(hào)強(qiáng)度信息 getSignalInfoList(int slotId) 獲取當(dāng)前注冊(cè)蜂窩網(wǎng)絡(luò)信號(hào)強(qiáng)度信息。 無(wú)

開(kāi)發(fā)步驟

  1. 調(diào)用 RadioInfoManager 的 getInstance 接口,獲取到 RadioInfoManager 實(shí)例。

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

  1. 遍歷 SignalInformation 列表,并分別根據(jù) signalNetworkType 轉(zhuǎn)換為對(duì)應(yīng)制式的 SignalInformation 子類(lèi)對(duì)象。

  1. 調(diào)用子類(lèi)中的方法,獲取信號(hào)強(qiáng)度信息。

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

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)