Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Управление индикатором вызова

From Wiki
Jump to: navigation, search
Article Metadata

Пример кода
Исходный файл: Media:IncallBubbleSample.zip

Статья
Автор: truf (25 Nov 2007)
Последнее редактирование: hamishwillee (10 Nov 2011)

Индикатор вызова - иконка (иногда мерцающая, см. рис.), появляющаяся в правом верхнем углу экрана в том случае, если телефон не может отобразить полноценное окно вызова.

IncomingCallBubbleIcons.jpg

Различные индикаторы вызова.

Во 2-й редакции Symbian вы можете отобразить или скрыть этот индикатор, не зависимо от того, имеется ли входящий звонок или нет. Для этого вы должны воспользоваться классом CAknIncallBubble из aknnotify.lib. Заголовок для этого класса в SDK не включен, но используемое им перечисление TAvkonIncallStatusBubbleFlags доступно в avkon.hrh, а сам класс по структуре очень прост и полностью соответствует CAknPopupNotify, так что воссоздать его заголовочный файл не составляет большого труда.


Файл AknIncallBubble.h

// INCLUDES
#include <e32std.h>
#include <e32base.h>
#include <AknNotify.h>
 
 
/* CAknIncallBubble flags
* Bit Explanation
* 0 and 1 Call state
* 2 No Ciphering
* 3 Is muted
* 4 Is Visible
* 5 Is a Fax
* 6 Is a Data call
* 7 Is a Hscsd data call
* 8 Line 2 indication
* 9 Is a Video call
* 10 Is an emergency call
*/

 
/* Следующее перечисление можно найти в avkon.hrh:
 
enum TAvkonIncallStatusBubbleFlags
{
EAknStatusBubbleAlerting = 0x00, // One of
EAknStatusBubbleActive = 0x01, // these
EAknStatusBubbleOnHold = 0x02, // to set
EAknStatusBubbleDisconnected = 0x03, // the call state
EAknStatusBubbleNoCiphering = 0x04,
EAknStatusBubbleMuted = 0x08,
EAknStatusBubbleVisible = 0x10,
EAknStatusBubbleFax = 0x20,
EAknStatusBubbleData = 0x40,
EAknStatusBubbleDataHscsd = 0x80,
EAknStatusBubbleLine2 = 0x100,
EAknStatusBubbleVideo = 0x200,
EAknStatusBubbleEmergency = 0x400
};
*/

 
 
// CLASS DECLARATION
 
/**
* CAknIncallBubble
*
*/

class CAknIncallBubble : public CBase
{
public: // Constructors and destructor
 
IMPORT_C static CAknIncallBubble* NewL();
IMPORT_C static CAknIncallBubble* NewLC();
IMPORT_C ~CAknIncallBubble();
 
IMPORT_C void SetIncallBubbleFlagsL(int aMessage);
 
private:
CAknIncallBubble();
void ConstructL();
 
IMPORT_C void CAknNotifyBase_Reserved();
 
};

Использование CAknIncallBubble

Подключите AknIncallBubble.h к своему проекту, и используйте следующий код:

CAknIncallBubble* IncallBubble = CAknIncallBubble::NewLC();
IncallBubble->->SetIncallBubbleFlagsL(EAknStatusBubbleVisible | EAknStatusBubbleAlerting);
CleanupStack::PopAndDestroy(IncallBubble);

Демонстрационный проект

IncallBubbleSample.jpg

Здесь находится демонстрационный проект, позволяющий поэксперементировать с различными флагами CAknIncallBubble.

This page was last modified on 10 November 2011, at 03:12.
39 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×