This page was last modified 19:20, 1 January 2008.
Отслеживание статуса телефонного звонка с помощью CTelephony
From Forum Nokia Wiki
Перевод с английского, оригинальная статья находится здесь.
Этот пример позволяет отслеживать статус телефонного звонка с помощью класса CTelephony. Код предназначен для устройств на базе S60 Symbian 3-й редакции, и не будет работать на более старых версиях Symbian.
В случае исходящего звонка, вы можете воспользоваться этим кодом для получения телефонного номера.
CallsMonitor.cpp
CCallMonitor::CCallMonitor(MCallCallBack& aCallBack) :CActive(0),iCallBack(aCallBack),iCurrentStatusPckg(iCurrentStatus) { } CCallMonitor::~CCallMonitor() { Cancel(); delete iTelephony; } void CCallMonitor::ConstructL(void) { CActiveScheduler::Add(this); iTelephony = CTelephony::NewL(); StartListening(); } void CCallMonitor::CancelOperation(void) { Cancel(); } void CCallMonitor::DoCancel() { iTelephony->CancelAsync(CTelephony::EVoiceLineStatusChangeCancel); } void CCallMonitor::RunL() { iCallBack.CallStatusChangedL(iCurrentStatus.iStatus,iStatus.Int()); if(iStatus != KErrCancel) { StartListening(); } } void CCallMonitor::StartListening() { Cancel(); iCurrentStatus.iStatus = CTelephony::EStatusUnknown; iTelephony->NotifyChange(iStatus,CTelephony::EVoiceLineStatusChange,iCurrentStatusPckg); SetActive(); }
CallsMonitor.h
class MCallCallBack { public: virtual void CallStatusChangedL(CTelephony::TCallStatus& aStatus, TInt aError)=0; }; class CCallMonitor : public CActive { public: ~CCallMonitor(); CCallMonitor(MCallCallBack& aCallBack); void ConstructL(); protected: void DoCancel(); void RunL(); private: void CancelOperation(void); void StartListening(); private: MCallCallBack& iCallBack; TInt iState; CTelephony::TCallStatusV1 iCurrentStatus; CTelephony::TCallStatusV1Pckg iCurrentStatusPckg; CTelephony* iTelephony; };
Внутренние ссылки
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Etel on N76 | amgalbu | Symbian Networking & Messaging | 6 | 2007-07-12 04:30 |
| Вывод текста под углом | midday | Russian Developer Forum - Форум Российских разработчиков | 38 | 2007-12-15 06:59 |
| Using operator [] in TPckg | lm.thiago | General Symbian C++ | 7 | 2007-07-05 08:59 |
| Cell ID, LAC, RX Level and TA | dehghani | General Symbian C++ | 1 | 2006-07-27 12:48 |
| ETelMM: Swap doesn't work on two received calls | iDeveloper | General Symbian C++ | 4 | 2007-10-25 17:54 |
