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: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 03:15.
50 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.

×