This page was last modified 06:02, 5 January 2008.
Управление индикатором сигнала
From Forum Nokia Wiki
Индикатор сигнала
Индикатор сигнала - один из элементов панели статуса, расположенный в левой части экрана. Этот индикатор может отображать восемь уровней сигнала, называемых Level 0, Level 1 и т.д. до Level 7.
В Symbian 2-й редакции, существует класс позволяющий пользователю контролировать состояние этого индикатора. Он находится в библиотеке aknnotify.lib и называется CAknSignalNotify.
Помимо прочего, CAknSignalNotify может быть использован для изменения состояний GPRS соединения.
CAknSignalNotify содержит следующие функции:
- void SetSignalLevelL(TInt aLevel) - установка состояния индикатора. Аргумент aLevel может принимать значения от 0 до 7.
- void SetGprsStateL() - установка состояния GPRS соединения.
- void SetWcdmaStateL() - установка состояния WCDMA.
- void SetCdmaStateL() - установка состояния CDMA.
- void SetCommonPacketDataStateL() - установка состояния Common Packet Data.
Примечание: реализация функций SetWcdmaStateL(), SetCdmaStateL() и SetCommonPacketDataStateL() может отсутствовать на GSM телефонах. В этом случае попытка обращения к ним приведет к завершению работы приложения без сообщения об ошибке.
AknSignalNotify.h
#include <AknNotify.h> class CAknSignalNotify : public CAknNotifyBase { public: IMPORT_C static CAknSignalNotify* NewL(); IMPORT_C static CAknSignalNotify* NewLC(); IMPORT_C ~CAknSignalNotify(); IMPORT_C void SetGprsStateL(TInt aState); IMPORT_C void SetSignalLevelL(TInt aLevel); IMPORT_C void SetCommonPacketDataStateL(TInt aState); IMPORT_C void SetWcdmaStateL(TInt aState); IMPORT_C void SetCdmaStateL(TInt aState); private: CAknSignalNotify(); void ConstructL(); private: IMPORT_C void CAknNotifyBase_Reserved(); };
Использование CAknSignalNotify
Изменения индикатора, вызванные экземпляром класса CAknSignalNotify, сохраняются до тех пор, пока его состояние не изменит система, или другой экземпляр CAknSignalNotify. Поэтому, его можно удалить сразу после использования. К примеру: следующий код установит индикатор сигнала в максимальное состояние (Level 7). Не забудьте подключить библиотеку aknnotify.lib к вашему проекту.
CAknSignalNotify* AknSignalNotify= CAknSignalNotify::NewLC(); AknSignalNotify->SetSignalLevelL(7); CleanupStack::PopAndDestroy();
Примечание: вы можете объявить перечисление для использования в SetBatteryLevelL():
enum TSignalLevel { ELevel0, ELevel1, ELevel2, ELevel3, ELevel4, ELevel5, ELevel6, ELevel7 };
Аргумент функции SetGprsStateL() может принимать любое значение, но какой-либо эффект на индикатор оказывают следующие:
- Под линейкой уровня сигнала отображается антенна.
- Отображается символ G (GPRS attached).
- Мерцающий символ G.
- G в квадратике (GPRS Context).
- Зачеркнутое G (GPRS Suspended).
- G в квадратике подчеркнутое один раз.
Здесь вы можете скачать демонстрационным пример.
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| we want devcert's with allfiles and TCB! | Santehnik | Symbian Signing, Certification and Security | 90 | 2007-02-16 18:09 |
| RSendAsMessage - передача файлов по Bluetooth | Den123 | Russian Developer Forum - Форум Российских разработчиков | 2 | 2008-03-06 17:28 |
| Акселерометр | Den123 | Russian Developer Forum - Форум Российских разработчиков | 14 | 2007-12-10 05:45 |
| Запись звука без Bееp'а во время разговора | UGreek | Russian Developer Forum - Форум Российских разработчиков | 6 | 2007-12-25 12:45 |
| Оффтоп | Cagemts | Russian Developer Forum - Форум Российских разработчиков | 107 | 2008-06-24 16:48 |
