我有以下问题: 我的程序必须运行两个AsyncTask(一个接一个,从不同时),其中一个将通过蓝牙进行套接字通信,另一个将通过WIFI进行。 所以我做的是:
if (bluetoothConnexion.closeBTConnexion()){
mainContext.startUDPTask();
}
public Boolean closeBTConnexion() {
if (bluetoothServerTask != null){
bluetoothServerTask.cancel(true);
return bluetoothServerTask.isCancelled();
}
else
return true;
}
所以当蓝牙一个被取消时我执行UDP任务,但我遇到两个问题:
有什么想法吗?
非常感谢!
答案 0 :(得分:1)
如果您想连续执行它们,可以尝试使用串行执行程序http://developer.android.com/reference/android/os/AsyncTask.html#SERIAL_EXECUTOR 它会是这样的:
bluetoothServerTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
然后您可以使用
执行其他任务udpTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
这样udpTask只会在bluetoothServerTask完成时运行。