背景中的蓝牙通信。线程,服务,IntentService,AsyncTask ..?

时间:2016-04-19 16:51:30

标签: java android multithreading android-asynctask bluetooth

为了在后台处理蓝牙套接字通信,适当的工具是什么?线程,服务,IntentService,AsyncTask还是其他?

代码将与主类不同,应该停止,并且在连接丢失时套接字和流终止。

根据这篇有用的文章: http://www.onsandroid.com/2011/12/difference-between-android.html

线程可能是最好的,但如果是这样,我如何在不同的类文件中实现它并仍然从Main类调用它?

1 个答案:

答案 0 :(得分:3)

我认为这完全取决于您的需求,例如

如果你想一直保持蓝牙扫描启用,那么你应该使用服务,它将留在后台搜索设备与其进行套接字通信。此外,您可以在服务中使用另一个Intent Service来处理不同的任务,例如发送文件,通信等。但是,Intent Service通常用于长时间运行的进程,在我看来这对您来说是个很好的模型。

AsyncTask通常用于处理面向网络的任务,例如HTTP请求和所有。

此外,您可以考虑使用处理程序而不是提供消息通信的线程。