BREW后台应用

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6520454 在BREW 3.x 版本以前,后台应用根本不响应suspend和resume事件,也处理有终端用户相关的交互操作,例如按键事件等等。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6520454

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

在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;

}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wireless_com/archive/2010/09/29/5914168.aspx

目录
相关文章
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
16992 31
|
弹性计算 网络安全 数据中心
阿里云192.168.0.0/16、172.16.0.0/12、10.0.0.0/8网段怎么选?
阿里云专有网络VPC网段192.168.0.0/16、172.16.0.0/12、10.0.0.0/8怎么选?
826 0
阿里云192.168.0.0/16、172.16.0.0/12、10.0.0.0/8网段怎么选?
|
JSON 数据格式
使用JSON解析对象成map结构
使用JSON解析对象成map结构
584 0
|
测试技术 API 索引
【day10】LeetCode(力扣)刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]
刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]。
206 0
【day10】LeetCode(力扣)刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]
|
算法
|
3天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
1天前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。