您的位置:首页 > 产品设计 > UI/UE

通过UID判断某个程序是否在前台运行(转)

2010-10-21 13:46 337 查看

适用版本:

S60 2nd Edition, S60 3rd Edition

具体方案:

通过以下代码可以判断一个UID为KUidMyAppUid的程序是否运行在前台,若是返回ETrue,若否则返回EFalse。

TBool MyApplication::IsTaskInForegroundL(){
RWsSession& wsSession = CEikonEnv::Static()->WsSession();
CArrayFixFlat<TInt>* wgIds = new (ELeave) CArrayFixFlat<TInt>(2);
CleanupStack::PushL(wgIds);
wsSession.WindowGroupList(0, wgIds);
TInt WgId = (*wgIds)[0];
CleanupStack::PopAndDestroy(); // wgIds


CApaWindowGroupName* wgn = CApaWindowGroupName::NewLC(wsSession, WgId);TUid uid = wgn->AppUid();
CleanupStack::PopAndDestroy();


if (uid == KUidMyAppUid) // Put UID of your application.return ETrue;
else
return EFalse;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: