问题解决了!这个效果虽然折中,但是它遵守了Symbian机制,也满足了用户的需要!
代码如下:(希望对需要的人有帮助)
void CBTAlarmAppUi::HandleWsEventL(const TWsEvent &aEvent, CCoeControl *aDestination)
{
if (KAknUidValueEndKeyCloseEvent == aEvent.Type())//为挂机键时
{
TInt flag;
flag=ShowGlobalConfirmDialogL(_L("are you sure close application?"));
//close the application
if(flag)
{
Exit();
}
//bring to front
else
{
TApaTask task(iEikonEnv->WsSession( ));
task.SetWgId(CEikonEnv::Static()->RootWin().Identifier());
task.BringToForeground();
}
}
else
CAknAppUi::HandleWsEventL(aEvent, aDestination);
}
TInt CBTAlarmAppUi::ShowGlobalConfirmDialogL(const TDesC& aText)
{
CAknGlobalConfirmationQuery*
iGlobalConfirmationQuery = CAknGlobalConfirmationQuery::NewL();
TRequestStatus aStatus;
iGlobalConfirmationQuery->ShowConfirmationQueryL(aStatus, aText);//,
0, 0, KNullDesC, 0, 0, CAknQueryDialog::ENoTone, EFalse);
User::WaitForRequest(aStatus);
if(aStatus.Int() == 3005)
return 1;
else
return 0;
}
手机红色键,EStdKeyNo程序
最新推荐文章于 2023-02-15 18:20:16 发布
本文介绍了一种在Symbian系统中处理挂机键的方法,通过弹窗询问用户是否确认关闭应用程序来实现。代码实现了挂机键事件监听,并在用户确认后退出应用或保持应用在前台。
261

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



