如题,想请教一下,怎么判断手机是否支持wifi模块,我写了一段代码在c7上面测试好用,但是换成5230的话就就初始化不了,在初始化CWlanScanInfo对象的时候会产生问题。
void CWLANInfo::ConstructL(MWLANInfoObserver *aObserver)
{
iObserver = aObserver;
//WLAN Info API
iScanInfo = CWlanScanInfo::NewL(); // 这一句执行的时候就有问题,new不了
iWLANMgmtClient = CWlanMgmtClient::NewL();
iWLANMgmtClient->ActivateNotificationsL(*this);
//Init Mutex
User::LeaveIfError(iMutex.CreateLocal());
//Initialize timer
User::LeaveIfError(iTimer.CreateLocal());
//Init buffers
iWLANBuf.CreateL(KMaxWLANInfo);
//Start timer
iTask = EWLANTimer;
iTimer.After(iStatus, KTimerInterval);
SetActive();
}
------解决方案--------------------------------------------------------
楼主如果只判断是否支持wifi可以用 RConnectionMonitor
RConnectionMonitor monitor;
TPckgBuf<TConnMonNetworkNames> pkgNetworks;
monitor.ConnectL();
CleanupClosePushL(monitor);
TRequestStatus status;
monitor.GetPckgAttribute(EBearerIdWLAN, 0, KNetworkNames, pkgNetworks,
status);
------解决方案--------------------------------------------------------
TInt err = RProperty::Get(KPSUidWlan,KPSWlanMacAddress,WLANAddress);
if(err==KErrNone//有
------解决方案--------------------------------------------------------
const TUid KPSUidWlan = { 0x101f8ec5 };
const TUint KPSWlanMacAddress = 0x00000001;
const TUint KPSWlanIndicator = 0x00000002;
TBuf8<20> WLANAddress;
TInt err = RProperty::Get(KPSUidWlan,KPSWlanMacAddress,WLANAddress);