方法有些麻烦、、 _LIT(CMWAP, "cmwap"); TInt iApId = 21; TBuf<128> iApName; CCommsDatabase* CommDb = CCommsDatabase::NewL(EDatabaseTypeIAP); CleanupStack::PushL(CommDb); CApSelect* ApSelect = CApSelect::NewLC(*CommDb, KEApIspTypeAll ,EApBearerTypeAll ,KEApSortUidAscending); if (ApSelect->MoveToFirst()) { do { TPtrC name = ApSelect->Name(); TUint uid = ApSelect->Uid(); if (uid == iSelectedIap) { iApName.Copy(name); if (ApSelect->BearerType() == EApBearerTypeWLAN) { // 此处为wlan } break; } } while(ApSelect->MoveNext()); } CleanupStack::PopAndDestroy(2); if (iApName.Length() > 0) { CCommsDatabase* db = CCommsDatabase::NewL(EDatabaseTypeIAP); CleanupStack::PushL(db); CCommsDbTableView* view = db->OpenTableLC(TPtrC(OUTGOING_GPRS)); TInt err = view->GotoFirstRecord(); while (err == KErrNone) { TBuf<32> name; TBuf<32> apn; TUint32 id; view->ReadUintL(TPtrC(COMMDB_ID), id); view->ReadTextL(TPtrC(COMMDB_NAME), name); view->ReadTextL( TPtrC(GPRS_APN), apn ); if (iApName.Compare(name) == 0 && apn.Compare(CMWAP) == 0) { //此处为wap break; } err = view->GotoNextRecord(); } CleanupStack::PopAndDestroy(2); // view }