为什么我仍然使用@WorkerThread注释得到NetworkOnMainThreadException?

Chu*_*ulo -1 java android networkonmainthread

我打电话sendPhoneNumberHandler@OnClick哪个意味着正常得到NetworkOnMainThreadException.为了解决这个问题,我使用@WorkerThread了允许方法调用在UI /主线程之外运行的注释.相比之下,我仍然有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());
      }
    });
  }
Run Code Online (Sandbox Code Playgroud)

任何线索?

tyc*_*czj 5

使用注释不会使该方法在UI线程上运行.它只是表明此方法需要在单独的线程中执行