-1
我打電話給sendPhoneNumberHandler
從@OnClick
這意味着正常得到NetworkOnMainThreadException
。 爲了解決這個問題,我使用了@WorkerThread
註解,它允許方法調用在UI /主線程之外運行。相反,我仍然得到NetworkOnMainThreadException
。儘管使用@WorkerThread批註,爲什麼仍然有NetworkOnMainThreadException?
@WorkerThread
public void sendPhoneNumberHandler(final Context context, String phoneNumber) {
MonoApplication application = MonolApplication.get(phoneNumberMvpView.getContext());
rx.Observable<HeaderResponse> checkPhoneNumber =
application.getMonolService(Constants.monolAPIUrl).checkPhoneNumber(phoneNumber);
subscription = checkPhoneNumber.subscribe(new Observer<HeaderResponse>() {
@Override public void onCompleted() {
}
@Override public void onError(Throwable e) {
phoneNumberMvpView.onPhoneNumberSendResult(false, 0);
}
@Override public void onNext(HeaderResponse s) {
phoneNumberMvpView.onClearText();
phoneNumberMvpView.onPhoneNumberSendResult(true, s.getError());
}
});
}
任何線索?
您應該將您的方法放入AsyncTask中。 –
我錯過了訂閱IO線程('subscribeOn(Schedulers.io())') – Abdellah