WEB开发网
开发学院软件开发VC Brew 后台应用开发 阅读

Brew 后台应用开发

 2007-03-17 21:26:12 来源:WEB开发网   
核心提示: 后台应用在执行完制定任务后,通过ISHELL_CloseApplet函数来终止后台应用,Brew 后台应用开发(2),根据api 的帮助说明,激活应用调用ISHELL_CloseApplet(pIShell, TRUE)该参数的函数后,这个值是由应用程序分发时间传递来的,如果应用程序直接由

后台应用在执行完制定任务后,通过ISHELL_CloseApplet函数来终止后台应用。根据api 的帮助说明,激活应用调用ISHELL_CloseApplet(pIShell, TRUE)该参数的函数后,将会关闭所有正在执行的程序并且回到待机界面。然而,当由激活应用调用时,这个操作并不能影响到应用程序栈外面的程序;

应用通过调用ISHELL_StartApplet函数来激活自身,从而可以正常接受用户事件;

Suspend/Resume 挂起和恢复

由于后台应用驻留在应用程序栈的外面,因而他们不受挂起和恢复时间的影响。后台应用只有被激活才能处理挂起和恢复时间,它可以被自身或者其他程序发送的事件来激活。

Event Handling 事件处理

当后台应用正在运行时,它不能接受按键事件。然而很多后台应用可以使用事件处理来和其他激活应用交互,这样可以曲线控制后台应用。在这种情况下,激活应用可以通过ISHELL_SendEvent()or ISHELL_PostEvent()方法来通知后台应用做出相应的反应。

Limitations 局限性

后台应用最主要的限制是除非自身激活,否则无法修改屏幕信息以及和用户直接交流。除此之外,开发者应该注重后台应用的运行环境的资源的有限性。这对于后台极为重要,由于可能有多个后台在同时运行。并且,运行后台应用的设备将需求更多的电源支持,有可能导致不能进入可信任模式;

因而,长期的后台应用,应该避免对设备电池寿命的有害影响。一些OEM厂商可能会限制后台运用的性能;例如:当运行后台运用时,它将不能使用socket或者不能播放铃音。

Examples 实例

Assume the following applet structure: //假设如下应用结构。
typedef struct _bgApp
{
  AEEApplet a;
  boolean m_bGoBg; // used to toggle whether to run in background mode,后台运用的标志状态。
} bgApp;
Model event handling for a background application: //后台运用的事件处理模型
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)
    *((boolean*) dwParam) = FALSE; // set dwParam to run in bg ,后台运行了
  return TRUE;
case EVT_USER:
  if(pMe->m_bGoBg)
  {
    pMe->m_bGoBg = FALSE;
    // make applet active,激活运用...
    ISHELL_StartApplet(pMe->a.m_pIShell, AEECLSID_BGAPP);   }
  else
  {
    pMe->m_bGoBg = TRUE;
    // trigger EVT_APP_STOP to send app to background
    ISHELL_CloseApplet(pMe->a.m_pIShell, FALSE);
  }
  return TRUE;
}   
  应用程序可以通过evt_user 事件,可以将应用设置为后台应用或者激活应用;这些事件可以由其他应用通过ISHELL_SendEvent() 或者 ISHELL_PostEvent()函数来发送。在这个执行处理中,evt_user事件只是将应用本身在后台和前台之间作切换作用。更复杂的行为处理可以通过检测dwParam参数的值进行处理,这个值是由应用程序分发时间传递来的。如果应用程序直接由brew应用管理器启动,m_bGoBg的初始化值将决定是否在后台运行。

上一页  1 2 

Tags:Brew 后台 应用开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接