This tutorial describes how to get the battery charger information.
CTelephony
CTelephony::GetIndicator()
to
get the charger information
GetIndicator()
returns a
packaged descriptor CTelephony::TIndicatorV1
TIndicatorV1
enables the client
application to determine if the device can detect a charger connection. If
the device can detect a charger connection then the clients can determine
the status of the charger
CTelephony::EGetIndicatorCancel
to
cancel the asynchronous GetIndicator()
request.
#include <e32base.h> #include <Etel3rdParty.h> class CClientApp : public CActive { private: CTelephony* iTelephony; CTelephony::TIndicatorV1 iIndicatorV1; CTelephony::TIndicatorV1Pckg iIndicatorV1Pckg; public: CClientApp(CTelephony* aTelephony); void SomeFunction(); private: /* These are the pure virtual methods from CActive that MUST be implemented by all active objects */ void RunL(); void DoCancel(); }; CClientApp::CClientApp(CTelephony* aTelephony) : CActive(EPriorityStandard), iTelephony(aTelephony), iIndicatorV1Pckg(iIndicatorV1) { //default constructor } void CClientApp::SomeFunction() { iTelephony->GetIndicator(iStatus, iIndicatorV1Pckg); SetActive(); } void CClientApp::RunL() { if(iStatus==KErrNone) { if(iIndicatorV1.iCapabilities & CTelephony::KIndChargerConnected) { // We can detect when a charger is connected if(iIndicatorV1.iIndicator & CTelephony::KIndChargerConnected) {} // Charger is connected else {} // Charger is not connected } else {} // We do not know whether a charger is connected } } void CClientApp::DoCancel() { iTelephony->CancelAsync(CTelephony::EGetIndicatorCancel); }