监听事件(Event)

专有钉钉平台提供事件通知的能力,类似安卓系统的广播,比如应用进入到前台事件、应用进入到后台事件、应用账号登录事件、应用账号登出事件等。

Bundle注册监听事件

开发者可以实现EventReceiver,并使用注解@Event注册监听指定事件。如下代码,用户监听了login事件以及前台事件。

  1. @Event(event = "dingtalk.enter.foreground")
  2. public class DemoEventReceiver implements EventReceiver {
  3. @Override
  4. public void onEvent(String e, Bundle bundle) {
  5. switch (e) {
  6. case "dingtalk.enter.foreground":
  7. LogUtils.trace("hello world!");
  8. break;
  9. }
  10. }
  11. }

注解@Event

注解有两个参数:

  • event:支持String[],可一个Receiver订阅多个事件。
  • sync:onEvent回调函数执行的线程,默认sync=false,即在UI线程中执行。当开发者期望事件的回调执行是跟随专有钉钉平台发布事件的线程同步执行时,可定义sycn=true。

    APP事件列表

    | 事件ID | 事件描述 | 备注 | | —- | —- | —- | | dingtalk.enter.foreground | 专有钉钉APP被唤起进入到前台时的事件通知。� | | | dingtalk.enter.background | 专有钉钉APP被放到后台时的事件通知 | |