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
博客围绕Symbian应用展开,给出在电话响铃时获取来电号码的RunL()方法代码。同时指出RAdvGsmCall在Nokia 6600上无法使用,并提供替代方案,即通过RMobileCall获取来电号码,关键在于callInfo.iRemoteParty.iRemoteNumber.iTelNumber。
352

被折叠的 条评论
为什么被折叠?



