Using CApSettingsHandler to choose an IAP, it supposed to work on any S60 2nd and 3rd devices.
However, I found it doesn't work on a few of S60 3rd devices, very strange sympton: the device has two IAP, ids are 3 and 6, after select one of them, the dialog was dismissed, but the selected value(TUint32 iSelectedIap) is 5 and 8.Code:CActiveApDb* aDb = CActiveApDb::NewL(); CleanupStack::PushL(aDb); CApSettingsHandler* settings = CApSettingsHandler::NewLC( *aDb, ETrue, EApSettingsSelListIsPopUp, EApSettingsSelMenuSelectNormal, KEApIspTypeAll, EApBearerTypeAllBearers, KEApSortUidAscending, 0, EVpnFilterBoth, ETrue); TInt iapRet = settings->RunSettingsL(0, iSelectedIap); CleanupStack::PopAndDestroy(settings); CleanupStack::PopAndDestroy(aDb); if (iapRet != KApUiEventSelected) { User::Leave(KErrNotReady); }
This bug is really terrible..




