目的:当程序在前台运行时,按挂机键程序不退出,只是退到后台运行,程序在后台运行时,按c键能把程序结束
方法:在HandleWsEventL()中屏蔽挂机键KAknUidValueEndKeyCloseEvent,在值在avkon.hrh中定义,实践中发现8.0sdk的avkon.hrh没有定义KAknUidValueEndKeyCloseEvent,唯有手工添加定义#define KAknUidValueEndKeyCloseEvent 0x101F87F0
测试:在3230,N70和E61i上测试通过
void CMyClientAppUi::HandleWsEventL(const TWsEvent &aEvent, CCoeControl *aDestination)
{
switch (aEvent.Type())
{
case KAknUidValueEndKeyCloseEvent:
break;
default:
CAknAppUi::HandleWsEventL(aEvent, aDestination);
}
}
// ----------------------------------------------------
// CPocoClientAppUi::HandleCommandL(TInt aCommand)
// takes care of command handling
// ----------------------------------------------------
//
void CMyClientAppUi::HandleCommandL(TInt aCommand)
{
switch ( aCommand )
{
case EEikCmdExit:
{
Exit();
break;
}
// TODO: Add Your command handling code here
default:
break;
}
}
Symbian应用后台运行
本文介绍了一种方法,使Symbian平台的应用程序在按下挂机键后不会退出,而是转入后台继续运行,并且可以通过特定按键结束程序。具体实现是在HandleWsEventL()函数中屏蔽挂机键并自定义按键结束程序。

被折叠的 条评论
为什么被折叠?



