android - 有时 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();
任何帮助将不胜感激。
解决方案
推荐阅读
- python - 使用 importlib.import_module 处理导入模块引发的异常
- ios - iOS 13 中历史相关的 Contacts 框架类有哪些?
- reactjs - 如何更新树中的 Redux 依赖状态对象?
- prolog - (SWI-PL) 我不知道如何创建一个序言规则来匹配这种特定类型的输入
- javascript - 在反应中添加生命周期方法之外的类名
- crystal-reports - Crystal 报表中的多字段分组
- c++ - C ++:在“try”之外创建的类型会导致错误,但在内部却不会
- c# - C#如何通过静态方法实例化继承的对象?
- reactjs - 在反应上下文中存储 JWT
- firebase - 处理不同的 Firebase 身份验证提供程序