如何避免EventBus异常(Android)?

时间:2015-09-29 08:36:00

标签: android exception broadcastreceiver event-bus general-network-error

我正在处理现有应用程序,他们正在使用EventBus来获取每个网络异常:

  public void onEvent(final NetworkErrorEvent event) {
    runOnUiThread(new Runnable() {

        @Override
        public void run() {

            Log.e("EventBus Event" + "(IOException)");

            if (event.getType() == NetworkError.Timeout) {
                L.e("timeout");
            } else if (event.getType() == NetworkError.Disconnected) {
                L.e("disconnected");
            } else if (event.getType() == NetworkError.UnknownHost) {
                L.e("UnknownHost");
            }

             showConnectionErrorDialog(event.getType(), true);
        }
    });
}

我想添加api调用,如果失败,我不想通知EventBus,怎么办呢?

我在我的项目中没有看到eventBus.post(事件),我写的代码是捕获每个网络错误,即使我不想要他。

1 个答案:

答案 0 :(得分:0)

NetworkErrorEvent不是EventBus的一部分 - 我建议找出它来自哪里并从那里开始。我怀疑它可能是包装来自Retrofit的自定义代码。

EventBus非常适合记录网络故障,因为您可以在代码中的任何地方触发事件,然后只需选择在某个地方甚至多个地方处理这些事件,或者无处处理。