搜索可用的WLAN网络(转)

本文介绍了一种在S60第3版系统中搜索可用WLAN网络并获取其SSID和信号强度的方法。通过使用ConnectionMonitor Server API,可以实现对WLAN网络的探测,并提供了一个具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TSS000377
设备, 软件 版本: S60 3rd Edition
说明:
搜索可用的WLAN网络:我该如何获得网络的SSID和信号强度?
创建日期: July 7, 2006
详细描述:
搜索WLAN可用网络时,可以通过Connection Moniter Server API来获得他们实际的信号强度。
下面是该API的一个使用示例:

 

#include <rconnmon.h>

void CWlanTest:: ListNetworksAndSignalL(CDesCArraySeg& aNetworks)

{

    _LIT(KNetInfo, "Network: %S/tSignal: %d");

    TBuf<32> netName;

    TBuf<100> line;

    RConnectionMonitor monitor;

    TPckgBuf<TConnMonNetworkNames> pkgNetworks;

    // establish connection with the monitor server

    monitor.ConnectL();

    // prepare leave clean-up

    CleanupClosePushL(monitor);

    TRequestStatus status;

    // get the list of available networks

    monitor.GetPckgAttribute(EBearerIdWLAN, 0, KNetworkNames, pkgNetworks, status);

    // suspend thread until the info is retrieved

    // production code should use active objects

    User::WaitForRequest( status ) ;

    // leave if the asynchronous method returned an error

    User::LeaveIfError(status.Int());

    //  reset networks list

    aNetworks.Reset();

    // add retrieved networks to the list

    for(TUint i=0; i<pkgNetworks().iCount; i++)

    {

        netName.Copy(pkgNetworks().iNetwork[i].iName);

        line.Format(KNetInfo, &netName, pkgNetworks().iNetwork[i].iSignalStrength);

        aNetworks.AppendL(line);

    }

    // close server session

    CleanupStack::PopAndDestroy(&monitor);

}

Note:
- Link against: ConnMon.lib
- S60 3rd Edition-specific capability needed: NetworkServices

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值