Brew 后台应用开发
2007-03-17 21:26:12 来源:WEB开发网Overview 概述
Brew应用程序可以分为3类:激活的,挂起的和后台的;激活或挂起的应用程序驻留在应用程序栈里,这个栈是brew用来管理正在执行的应用的。栈中最上面(top)的是激活的应用程序,只有它才能直接与用户通过屏幕更换或者用户事件来交互信息;挂起应用某种程度上位于当前激活应用的栈下面 。
由于可能有多个应用处于挂起状态,开发者应该尽量保证挂起程序所占资源最小化。栈中的应用可以通过suspend 或resume 来挂起或激活应用。
在brew2.0版本中,涉及到了后台应用的开发。后台应用并不驻留在应用程序栈中;也就是说,它不会依据挂起或激活事件而改变运行状态。相反,后台应用一旦被初始化运行后,总是一直在运行中,而不受用户直接交户指令影响。
Starting/Ending 启动和结束
当开始初始化后台应用时,也像其他正常的brew应用一样;它可以直接由brew应用接口直接启动,也可以通过其他brew应用使用ISHELL_StartApplet函数来启动。
要将一个brew应用放入后台运行,brew应用在处理EVT_APP_STOP 事件时,必须将dwParam 的值设为false;这样在EVT_APP_STOP事件处理后,brew应用将被放在后台运行;后台应用要变为brew正常使用,必须通过自我运行ishell_StartApplet函数来激活应用本身。
由前所述可知,要终止一个后台应用将会比较困难,因为他们不能直接接受任何按键事件,因而,要结束一个后台应用就必须使用两种思路:后台应用成功执行完一个计划任务后终止自己或者通过其他独立的应用发送事件结束该后台应用。具体使用方法有如下三种:
其他应用通过ISHELL_SendEvent或ISHELL_PostEvent函数来发送事件(eCode 的值 大于evt_user)来通知后台应用结束;
更多精彩
赞助商链接