android - 线程中的蓝牙通信或 Android 中的服务?

标签 android multithreading service bluetooth

我正在开发涉及蓝牙通信的应用程序。即使建立连接的 Activity 关闭,蓝牙通信也应该继续。首先,我考虑过为此使用 Service,这似乎是正确的方法。但是,在蓝牙聊天示例中,通信发生在另一个线程中,而不是在服务中。我在我的应用程序中使用了该代码并且它工作正常。使用 Thread 进行蓝牙通信是否合适,还是我只需要使用服务?在我的应用程序进入 RAM 之前,蓝牙通信应该处于 Activity 状态,并且我是否在 Activity 之间切换应该无关紧要。

最佳答案

好吧,在你的情况下,一个单独的线程与一个服务没有区别,除了它遵循 Android 的 Activity 生命周期,但一个线程可能会被杀死并且无法恢复任何状态。 Android 将在服务被终止后尝试重新启动服务。

关于android - 线程中的蓝牙通信或 Android 中的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4264094/

相关文章:

.net - 在哪里可以找到在 .NET 中开发的 Windows 服务生命周期的详细 View ?

java - Android fragment 页面上的 java.lang.NullPointerException

c++ - std::condition_variable::wait_until 的实现

java - 同步线程以避免 ArrayIndexOutOfBoundsException

android - 位置经理内部服务

Delphi服务应用程序通过Application.Run方法获取过去

android - 如何检查 SpeechRecognizer 当前是否正在运行?

android - 在 react-native Android 发布版本上查看控制台日志

android - 构建应用程序时出现 BufferOverflowException

android水平和垂直recyclerview项目装饰