获取wifi信号强度

时间:2021-01-22 14:43:33

一般有两种方法获得wifi信号强度:

第一种:WLAN Management API,详细说明见:http://wiki.forum.nokia.com/index.php/WLAN_Management_API

第二种:利用 RConnectionMonitor 类。

 

第一种方法需要安装模拟器插件才能调试,不太方便使用,因此,使用第二种。下面说明怎样用第二种方法。

   //connect

   RConnectionMonitor monitor;
   monitor.ConnectL();
   CleanupClosePushL(monitor);
   TRequestStatus status;
   TInt iSignalStrength;


 

   //get all wifi packets
   TPckgBuf<TConnMonNetworkNames> pkgNetworks;
   monitor.GetPckgAttribute(EBearerIdWLAN, 0, KNetworkNames, pkgNetworks, status);
   User::WaitForRequest(status);
   TInt packetCount = pkgNetworks().Count();

 

    //find ssid in packets

   TBuf16<36> ssid16;
   ssid16.Copy(pkgNetworks().iNetwork[0].iName);


 

 //get signal strength

   iSignalStrength = (TInt) pkgNetworks().iNetwork[0].iSignalStrength;