BREW是基於事件驅動的,可以通過ISHELL介面中的相關方法發送或接收指定的事件,事件在系統中的分發處理是通過AEE層來實現的。發送事件的方法有ISHELL_SendEvent,ISHELL_PostEvent等,接收特定事件的方法主要是通過ISHELL_RegisterNotify方法來實現,也可以通過MIF檔案中的設定完成。如果應用註冊了事件,AEE層在事件發生的時候就會發送EVT_NOTIFY 事件給該應用。
有些事件是不需要註冊的,例如通用的系統事件EVT_APP_START,EVT_APP_STOP,EVT_APP_SUSPEND,EVT_APP_RESUME等等。手機鍵盤事件一般也是不需要註冊的,例如EVT_KEY_PRESS,EVT_KEY,EVT_KEY_RELEASE,EVT_CHAR等,在BREW 3.1之前,只有螢幕上頂層可視的應用能夠接收鍵盤事件,從BREW 3.1開始,所有應用都可以接收鍵盤事件。如果不是手機螢幕上頂層可視的應用,必須要註冊 NMASK_SHELL_KEY 通知才能接收到相關的鍵盤事件。
控制項事件一般以EVT_CTL為首碼命名的,例如EVT_CTL_TAB,EVT_CTL_ADD_ITEM等,對話方塊事件一般以EVT_DIALOG為首碼命名的。如果應用使用控制項或者對話方塊,一般要對相關的事件進行處理。對警示事件的設定一般有兩種方法ISHELL_SetAlarm和IALARMMGR_SetAlarm,當警示時間來臨的時候,EVT_ALARM 事件將被發送給該應用,EVT_ALARM事件類型是通過掩碼來區分的。
事件的訊息佇列並沒有優先順序,所有的事件都具有相同的優先順序,也就是系統對所有的訊息都看作是相同優先順序的,必須一個訊息等待處理完畢即事件處理方法返回後,才能夠處理另外的訊息。因此編寫的應用程式必須及時接收並處理來自系統的事件訊息,並且把控制權及時地返回系統,這樣才能保證應用程式的正常運行。如果程式中某個事件的處理方法長時間的運行而不能及時返回系統響應其它系統事件,AEE將會認為是系統發生錯誤,為了避免破壞系統,裝置將選擇強制性重新啟動。