《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之83——BREW后台应用

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/5914168

BREW 3.x 版本以前,后台应用根本不响应suspendresume事件,也处理有终端用户相关的交互操作,例如按键事件等等。

BREW 3.x 以后,任何应用都可以对按键事件进行处理,可以简单地通过注册掩码为NMASK_SHELL_KEY的通知来实现。通过ISHELL_StartBackgroundApplet()直接启动一个后台应用,后台应用可以直接处理EVT_APP_START_BACKGROUND 事件而不是EVT_APP_START事件。在BREW 2.x中使一个应用处于后台运行状态的方法是,在调用ISHELL_CloseApplet() 且接收到EVT_APP_STOP, *(dwParam) 设置为FALSE,例如(*(oolean *)dwParam) = FALSE

一个BREW应用与后台应用,或者后台应用与另一个后台应用之间一般采用事件传递的方式进行通信。终止一个后台应用的后台运行状态有三种情况,第一种是接收到其他应用的发来的事件,一种是后台应用执行完相关操作后调用ISHELL_CloseApplet()来关闭自己,另一种是后台应用调用ISHELL_StartApplet()使自己处于前台运行状态,然后通过用户的交互来关闭自己。

下面是BREW2.X中使用后台应用的示例:

typedef struct _bgApp

{

AEEApplet a;

oolean m_bGoBg; // used to toggle whether to run in background mode

} bgApp;

……

switch (eCode)

{

case EVT_APP_START:

if(pMe->m_bGoBg)

ISHELL_CloseApplet(pMe->a.m_pIShell, FALSE); // send applet to background

return TRUE;

case EVT_APP_STOP:

if(pMe->m_bGoBg)

*((oolean*) dwParam) = FALSE; // set dwParam to run in bg

return TRUE;

case EVT_USER:

if(pMe->m_bGoBg)

{

pMe->m_bGoBg = FALSE;

ISHELL_StartApplet(pMe->a.m_pIShell, AEECLSID_BGAPP); // make applet active

}else{

pMe->m_bGoBg = TRUE;

// trigger EVT_APP_STOP to send app to  background

ISHELL_CloseApplet(pMe->a.m_pIShell, FALSE);

}

return TRUE;

}

目录
相关文章
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之98——BREW中RUIM的相关问题
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
712 0
|
存储 搜索推荐 Windows
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之100——BREW中绚丽多彩的应用
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
605 0
|
开发工具
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之97——BREW的应用管理器
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
664 0
|
测试技术 开发者 安全
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之95——BREW中的典型上有测试TBT
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
765 0
|
测试技术
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之96——BREW中运营商管理的测试UBT
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
602 0
|
NoSQL 编译器 C语言
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之91——BREW debuger的使用
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
868 0
|
开发者 开发工具 存储
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之90——BREW中的日志接口功能
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
683 0
|
测试技术 开发者
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之89——BREW中的测试工具
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
635 0
|
算法 测试技术
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之87——面向BREW平台的移植
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
794 0
|
网络协议 C++
《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之88——BREW应用向其他平台的移植
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
968 0