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

目录
相关文章
|
7月前
|
Windows
Window winget 包管理工具安装踩坑记录
Window winget 包管理工具安装踩坑记录
256 0
|
2月前
|
开发框架 缓存 Ubuntu
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
43 3
|
6月前
|
JavaScript Ubuntu Linux
蓝易云 - linux中安装nodejs,卸载nodejs,更新nodejs,git
请根据自己的Linux发行版和版本选择合适的命令。
220 2
|
6月前
|
iOS开发 MacOS
Homebrew 安装卸载和配置使用
Homebrew 安装卸载和配置使用
175 0
|
7月前
|
前端开发 网络协议 iOS开发
【macOS 系列】下载brew或其他依赖包提示连接超时的问题解决
【macOS 系列】下载brew或其他依赖包提示连接超时的问题解决
123 0
|
NoSQL Linux Redis
Linux系统Redis安装教程-附带后台启动
Linux系统Redis安装教程-附带后台启动
Linux系统Redis安装教程-附带后台启动
|
Java 应用服务中间件 Linux
MacOS开发必备工具brew,安装nginx反向代理,替代linux工具 apt-get和 yum
Mac os开发者必备工具 brew,替代Linux系统中的 apt-get和yum工具,本文介绍Mac电脑安装Homebrew,并下载安装软件nginx反向代理过程。
2970 0
|
关系型数据库 MySQL 缓存
brew简单命令的使用
mac 终端程序管理工具 能让你更快速的安装你想要的工具。而不用考虑大量的依赖。 安装命令 给官网的一样也可以自己去官网查看Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.
1645 0

热门文章

最新文章