我正在处理现有的应用程序,他们正在使用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(事件),我编写的代码是捕捉每个网络错误,即使我不希望他这样做。
发布于 2016-04-18 08:35:57
NetworkErrorEvent不是EventBus的一部分--我建议找出它的来源并从那里开始。我怀疑这可能是自定义代码包装了一些来自Retrofit的东西。
EventBus非常适合记录网络故障,因为您可以在代码中的任何地方触发事件,然后简单地选择在某个地方、甚至多个地方,或者在任何地方处理这些事件。
https://stackoverflow.com/questions/32839416
复制相似问题