http://discussion.forum.nokia.com/forum/showthread.php?s=&threadid=42369&perpage=15&highlight=*answer%20call*&pagenumber=3 In my application, I am trying to retrieve the calling number while the phone is still ringing. Here is the code for RunL() method.
--------------------------------------------------------------------------
void CCallWatcher::RunL() { if(iStatus.Int() != KErrNone) return;
switch(iState) { case EWaiting: { iLine.NotifyIncomingCall(iStatus, iCallName); iState = EAnswering; break; }
case EAnswering: { iLine.GetStatus(iCallStatus); if ( iCallStatus == RCall::EStatusRinging ) { User::LeaveIfError(iCall.OpenExistingCall(iLine, iCallName));
/////////// code added from forum for using RAdvGsmCall::TRemotePartyInfo /////////////
TBuf<20> callNum; RAdvGsmCall::TRemotePartyInfo myRemotePartyInfo; myCall->GetRemotePartyInfo(myRemotePartyInfo); callNum = myRemotePartyInfo.iNumber.iTelNumber; _LIT(KMessage,"Got a new call ... Caller ID: "); CEikonEnv::Static()->InfoWinL(KMessage,callNum);
/////////// code added from forum for using RAdvGsmCall::TRemotePartyInfo /////////////
}
iState = EAnswering; break;
} }
SetActive(); }
--------------------------------------------------------------------------
RAdvGsmCall will not work under Nokia 6600. Try this:
RMobileCall::TMobileCallInfoV1 callInfo; RMobileCall::TMobileCallInfoV1Pckg callInfoPckg(callInfo); m_currentCall.GetMobileCallInfo(callInfoPckg); (where m_currentCall defined as RMobileCall)
The caller ID is hidden in: callInfo.iRemoteParty.iRemoteNumber.iTelNumber
|