【symbian】如何实现程序的前后台运行切换
2010-09-03 12:01
239 查看
首先,需要使程序有获知焦点变化的能力。具体通过在AppUI类中重载CAknAppUi:: HandleForegroundEventL(TBool aForeground )函数来实现。
其次,在获知焦点变化的同时,改变应用程序的焦点,通过TApaTask::SendToBackground()和TApaTask::BringToForeground()两个函数来实现。由于这里用到的TApaTask类,需要包含APGTASK.H和apgrfx.lib。
再次,因为需要在调用其上函数时,必须用我们的应用程序的窗口组id(window group id)初始化(Initialise) TApaTask这个对象,这个实现需要用到,获取当前应用程序窗口组id的函数CEikonEnv::Static()->RootWin().Identifier()。刚好以上函数又要包含w32std.h和w32.lib。
l 具体实现代码如下:
void CHelloUIAppUi::HandleForegroundEventL(TBool aForeground)
{
if(aForeground)
{
TApaTask task ( CEikonEnv::Static()->WsSession() );
task.SetWgId( CEikonEnv::Static()->RootWin().Identifier() );
//Foreground run
task.BringToForeground();
ActivateLocalViewL(iHelloUIContainerView->Id());
}
else
{
TApaTask task ( CEikonEnv::Static()->WsSession() );
task.SetWgId( CEikonEnv::Static()->RootWin().Identifier() );
//background run
task.SendToBackground();
}
}
其次,在获知焦点变化的同时,改变应用程序的焦点,通过TApaTask::SendToBackground()和TApaTask::BringToForeground()两个函数来实现。由于这里用到的TApaTask类,需要包含APGTASK.H和apgrfx.lib。
再次,因为需要在调用其上函数时,必须用我们的应用程序的窗口组id(window group id)初始化(Initialise) TApaTask这个对象,这个实现需要用到,获取当前应用程序窗口组id的函数CEikonEnv::Static()->RootWin().Identifier()。刚好以上函数又要包含w32std.h和w32.lib。
l 具体实现代码如下:
void CHelloUIAppUi::HandleForegroundEventL(TBool aForeground)
{
if(aForeground)
{
TApaTask task ( CEikonEnv::Static()->WsSession() );
task.SetWgId( CEikonEnv::Static()->RootWin().Identifier() );
//Foreground run
task.BringToForeground();
ActivateLocalViewL(iHelloUIContainerView->Id());
}
else
{
TApaTask task ( CEikonEnv::Static()->WsSession() );
task.SetWgId( CEikonEnv::Static()->RootWin().Identifier() );
//background run
task.SendToBackground();
}
}
相关文章推荐
- Android实现程序前后台切换效果(类似QQ后台运行)
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”
- 实例、运行-Android实现程序前后台切换效果-by小雨
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”
- Android实现程序前后台切换效果(类似QQ后台运行)
- 如何在Android中实现程序前后台切换效果
- android 后台进程被强杀 如何在快速切换正确的运行程序
- 【Android实现程序前后台切换效果】(一)android后台运行时弹出正在运行通知的三种方式对比
- linux如何实现开机加载完图形界面后自动运行自己写的一个程序
- Symbian 程序的前后台切换
- 二十八、在Android中实现程序前后台切换
- [面试] 如何使程序在Linux下后台运行
- 如何实现SSH断开后 进程仍然在后台运行
- Android实现程序前后台切换效果
- 如何实现.net下开发的程序脱离.net环境运行并且可以跨平台的想法