首页 > 解决方案 > 有时 onPostExecute(Byte val) 没有被调用

问题描述

我正在使用最新 OS Oreo 的异步任务,我的问题是每次调用 onPostExecute() 但偶尔它不会被调用。我想知道哪个用例不允许调用它。

有关我正在执行的任务的更多详细信息:-

我正在尝试在 doInBackground 中打开蓝牙套接字,然后从此方法返回 0。

 mBTConnectTask = new AsyncTask<Void, Void, Byte>() {         
     @Override
     protected void onPreExecute() {
        super.onPreExecute();
        LogConfig.logd(TAG,"BTConnectTask : onPreExecute show progressBar");
                }

   @Override
   protected Byte doInBackground(Void... params) {
       LogConfig.logd(TAG, "Inside startBluetoothProcess");
       byte val = BTinit(context);
       if (val == 0) {
           if (BTconnect()) {
               return ErrorStatus.DEVICE_NOT_CONNECTED;
          }
       } else {
              return val;
         }
         return 0;
    }

  @Override
  protected void onPostExecute(Byte val) {
      LogConfig.logd(TAG, "onPostExecute()");
      }

  };

 mBTConnectTask.execute();

任何帮助将不胜感激。

标签: androidandroid-asynctask

解决方案


推荐阅读