API调用抛出了一个我尝试使用onError()捕获的错误。为了进行测试,我试图在Log中为onStarted(),onFinished和onError()打印一条消息。在Logcat中没有显示来自onError()的消息,但是显示了来自onStarted()和onFinished()的消息。
public void onAttach(android.app.Activity activity){
super.onAttach(activity);
TaskManager.registerListener(Bhr4Contracts.TASK_ROUTER, editWifiListener);
}
public void onDetach() {
super.onDetach();
TaskManager.unregisterListener(editWifiListener);
}
TaskStatusListener editWifiListener = new TaskStatusListener() {
@Override
public void onStarted(Bundle data) {
Timber.tag("editListener").d("inside started");
}
@Override
public void onError(Bundle data, Exception ex) {
super.onError(data, ex);
String message;
if (ex instanceof NetworkingException) {
message = ((NetworkingException) ex).getDetailedMessage();
if (message.isEmpty()) {
message = ex.getLocalizedMessage();
}
} else {
message = ex.getMessage();
}
if (!TextUtils.isEmpty(message)) {
Activity activity = getActivity();
if (activity != null) {
UIUtil.displayMessage(getActivity(), message, UIUtil.SNACKBAR_FLAG.IS_ERROR, Snackbar.LENGTH_INDEFINITE);
}
}
Timber.tag("editErrorListener").d("inside onError");
}
@Override
public void onFinished(Bundle data) {
Timber.tag("editListener").d("inside onFinished");
}
};
我能够使用进行了API调用的类中的LocalBroadcastManager来显示API调用的错误。我仍然不知道为什么onError()