Определение FlightMode с помощью CTelephony
Метаданные
Статья
Перевод:
Оригинал: How to know Flight mode status
Последнее редактирование: hamishwillee
(09 Dec 2011)
Определить, работает ли телефон в Flight Mode, можно с помощью функции GetFlightMode() класса CTelephony.
- Необходимые библиотеки: Etel3rdParty.lib и euser.lib.
- Это асинхронная функция, чтобы прервать ее воспользуйтесь CTelephony::EGetFlightModeCancel().
- Некоторые телефоны могут не поддерживать эту функцию, в этом случае она вернет значение KErrNotSupported.
class CClientApp : public CActive
{
private:
CTelephony* iTelephony;
CTelephony::TFlightModeV1 iFlightModeV1;
CTelephony::TFlightModeV1Pckg iFlightModeV1Pckg;
public:
CClientApp(CTelephony* aTelephony);
void SomeFunction();
private:
void RunL();
void DoCancel();
};
CClientApp:: CClientApp(CTelephony* aTelephony)
: CActive(EPriorityStandard),
iTelephony(aTelephony),
iFlightModeV1Pckg(iFlightModeV1)
{
//Конструктор
}
void CClientApp::SomeFunction()
{
iTelephony->GetFlightMode(iStatus, iFlightModeV1Pckg);
SetActive();
}
void CClientApp::RunL()
{
if(iStatus==KErrNone)
{
CTelephony::TFlightModeStatus flightMode = iFlightModeV1.iFlightModeStatus;
if(flightMode == CTelephony::EFlightModeOff)
{
//Если режим Flight Mode не включен, выполнить некоторые операции
//например, отправить СМС.
}
}
}
void CClientApp::DoCancel()
{
iTelephony->CancelAsync(CTelephony::EGetFlightModeCancel);
}


(no comments yet)