尽管使用了@WorkerThread 注解,为什么我仍然得到 NetworkOnMainThreadException?

Why I still got NetworkOnMainThreadException in spite of using @WorkerThread annotation?

我正在从 @OnClick 呼叫 sendPhoneNumberHandler,这意味着 NetworkOnMainThreadException 是正常的。 为了处理这个问题,我使用了 @WorkerThread 注释,允许在 UI/Main 线程之外调用 运行 的方法。相比之下我还是得到了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());
      }
    });
  }

有什么线索吗?

使用注释不会使该方法 运行 脱离 UI 线程。只是简单说明这个方法需要在单独的线程中执行