一般有两种方法获得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;