×
Namespaces

Variants
Actions

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

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

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

Статья
Автор: truf (29 Dec 2007)
Последнее редактирование: hamishwillee (10 Nov 2011)
== Индикатор заряда батареи
==

Индикатор заряда батареи - один из элементов панели статуса, расположенный в правой части экрана. Этот индикатор может отображать восемь уровней заряда батареи, называемых Level 0, Level 1 и т.д. до Level 7. Во время подзарядки батареи с помощью зарядного устройства, индикатор постоянно меняется, пробегая все значения от разряженного до полностью заряженного. Индикатор может принимать восемь различных состояний.

BatteryIndicator.JPG
Рис. Восемь состояний индикатора заряда батареи.

В Symbian 2-й редакции, существует класс позволяющий пользователю контролировать состояние этого индикатора. Он находится в библиотеке aknnotify.lib и называется CAknBatteryNotify.

CAknBatteryNotifyсодержит следующие функции:

  • void StartChargingL() - индикатор начинает пробегать все свои возможные состояния, как при зарядке батареи.
  • void StopChargingL() - индикатор прекращает изменять свое состояние, последнее состояние индикатора становится его текущим состоянием.
  • void NotChargingL() - индикатор прекращает изменять свое состояние, Level 0 становится его текущим состоянием.
  • void SetBatteryLevelL(TInt aLevel) - установка состояния индикатора. Аргумент aLevel может принимать значения от 0 до 7.

AknBatteryNotify.h

#include <AknNotify.h>
class CAknBatteryNotify : public CAknNotifyBase
{
public:
IMPORT_C static CAknBatteryNotify* NewL();
IMPORT_C static CAknBatteryNotify* NewLC();
IMPORT_C ~CAknBatteryNotify();
IMPORT_C void NotChargingL();
IMPORT_C void SetBatteryLevelL(TInt aLevel);
IMPORT_C void StartChargingL();
IMPORT_C void StopChargingL();
private:
CAknBatteryNotify();
void ConstructL();
private:
IMPORT_C void CAknNotifyBase_Reserved();
};





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

Изменения индикатора, вызванные экземпляром класса CAknBatteryNotify, сохраняются до тех пор, пока его состояние не изменит система, или другой экземпляр CAknBatteryNotify. Поэтому, его можно удалить сразу после использования. К примеру: следующий код установит индикатор в полностью заряженное состояние (Level 7). Не забудьте подключить библиотеку aknnotify.lib к вашему проекту.


CAknBatteryNotify* AknBatteryNotify = CAknBatteryNotify::NewLC();
AknBatteryNotify->SetBatteryLevelL( 7 );
CleanupStack::PopAndDestroy();

Здесь вы можете скачать демонстрационным пример.



Примечание: вы можете объявить перечисление для использования в SetBatteryLevelL():


enum TBatteryLevel 
{
ELevel0,
ELevel1,
ELevel2,
ELevel3,
ELevel4,
ELevel5,
ELevel6,
ELevel7
};
This page was last modified on 10 November 2011, at 06:15.
71 page views in the last 30 days.
×