Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 19:19, 1 January 2008.

Получение номера звонящего

From Forum Nokia Wiki

Перевод с английского, оригинальная статья находится здесь.


Этот пример демонстрирует получение телефонного номера звонящего. Приводятся варианты для Symbian 3-й редакции и старших платформ.

Для телефонов на базе S60 1-й и 2-й редакций

#include <etelmm.h>
 
void GetRemotePartyPhoneNumberL(TDes& aPhoneNumber)
{
	RTelServer etel;
 
	// Подключение к серверу ETel
	User::LeaveIfError(etel.Connect());
	CleanupClosePushL(etel);
 
	// Загрузка модуля телефона. Это делается из предосторожности
	// т.к. он уже должен быть загружен
	_LIT(KTsyName, "phonetsy.tsy");
	User::LeaveIfError(etel.LoadPhoneModule(KTsyName));
 
	RTelServer::TPhoneInfo phoneInfo;
 
	// Получение информации о телефоне. 
	// Нам требуется название телефона для того, чтобы получить к нему доступ
	const TInt KPhoneIndex = 0;
	User::LeaveIfError(etel.GetPhoneInfo(KPhoneIndex, phoneInfo));
 
	RPhone phone;
 
	// Получение доступа к телефону
	User::LeaveIfError(phone.Open(etel, phoneInfo.iName));
	CleanupClosePushL(phone);
 
	RPhone::TLineInfo lineInfo;
 
	// Получение информации о линии связи.
	// Нам требуется название линии, чтобы получить к ней доступ
	const TInt KLineIndex = 0;
	User::LeaveIfError(phone.GetLineInfo(KLineIndex, lineInfo));
 
	RLine line;
 
	// Получение доступа к линии связи
	User::LeaveIfError(line.Open(phone, lineInfo.iName));
	CleanupClosePushL(line);
 
	RLine::TCallInfo callInfo;
 
	// Получение информации о звонке.
	// Нам требуется название звонка, чтобы получить к нему доступ.
	const TInt KCallIndex = 0;
	User::LeaveIfError(line.GetCallInfo(KCallIndex, callInfo));
 
	RMobileCall call;
 
	// Получение доступа к звонку
	User::LeaveIfError(call.OpenExistingCall(line, callInfo.iCallName));
	CleanupClosePushL(call);
 
	RMobileCall::TMobileCallInfoV1 mobCallInfo;
	RMobileCall::TMobileCallInfoV1Pckg mobCallInfoPckg(mobCallInfo);
 
	// Получение информации о звонке
	User::LeaveIfError(call.GetMobileCallInfo(mobCallInfoPckg));
 
	// Мы успешно получили информацию о звонке.
	// Теперь скопируем телефонной номер удаленной стороны в дескриптор
	aPhoneNumber.Copy(mobCallInfoPckg().iRemoteParty.iRemoteNumber.iTelNumber);
 
	// Закрываем все хэндлы
	CleanupStack::PopAndDestroy(4); // call, line, phone, etel
}

Для телефонов на базе S60 3-й редакции

void GetRemotePartyPhoneNumberL(TDes& aPhoneNumber)
{
	// Создаем экземпляр класса CTelephony
	CTelephony* telephony = CTelephony::NewLC();
 
	CTelephony::TCallInfoV1 callInfoV1;
	CTelephony::TCallInfoV1Pckg callInfoV1Pckg(callInfoV1);
 
	CTelephony::TCallSelectionV1 callSelectionV1;
	CTelephony::TCallSelectionV1Pckg callSelectionV1Pckg(callSelectionV1);
 
	CTelephony::TRemotePartyInfoV1 remotePartyInfoV1;
	CTelephony::TRemotePartyInfoV1Pckg remotePartyInfoV1Pckg(remotePartyInfoV1);
 
	callSelectionV1.iLine = CTelephony::EVoiceLine;
	callSelectionV1.iSelect = CTelephony::EInProgressCall;
 
	// Получаем информацию о звонке
	User::LeaveIfError(telephony->GetCallInfo(callSelectionV1Pckg,
		callInfoV1Pckg, remotePartyInfoV1Pckg));
	// Копируем телефонной номер удаленной стороны в дескриптор
	aPhoneNumber.Copy(remotePartyInfoV1Pckg().iRemoteNumber.iTelNumber);
 
	CleanupStack::PopAndDestroy(); // telephony
}

Внутренние ссылки

Related Discussions
Thread Thread Starter Forum Replies Last Post
для чего нужны "Key pairs"? nova_onespirit Russian Developer Forum - Форум Российских разработчиков 4 2008-01-28 10:34
Проблемы с CaptureKeyXXXXX truf Russian Developer Forum - Форум Российских разработчиков 1 2008-02-07 12:16
Программирование под Symbian OS. Ресурсы, литература (только легальные ссылки!) ivey Russian Developer Forum - Форум Российских разработчиков 18 2008-08-27 06:40
RChunk::Open(), KErrPermissionDenied JBAK Russian Developer Forum - Форум Российских разработчиков 11 2008-01-22 10:02
Исходящий звонок truf Russian Developer Forum - Форум Российских разработчиков 7 2008-02-12 10:22
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX