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.
CActiveApDb* aDb = CActiveApDb::NewL();
CApSettingsHandler* settings = CApSettingsHandler::NewLC(
TInt iapRet = settings->RunSettingsL(0, iSelectedIap);
if (iapRet != KApUiEventSelected)
This bug is really terrible..