我正在开发一个在主机模式下使用 USB 的 Android 应用程序。 当应用程序正在运行并且设备已连接时,我需要实时了解设备向智能手机发送的内容。
传输是在中断模式下使用 Android SDK 执行的。
目前,我使用 Service(它实际上运行一个新线程来执行 while 循环)来完成它,但我确信有更好的方法来处理这种情况。此外,使用服务很难从另一个类检索/发送数据。
我想到的另一个解决方案是使用一个线程,没有Service。然后我会有一个类,它公开静态方法(startReadingThread
、stopReadingThread
、sendData
...),线程可以作为应用程序启动后立即启动,而无需在每次 Activity 之间停止/重新启动服务。
那么,我的问题是:如何管理这种后台任务?
如果需要,可以提供示例代码。谢谢。
最佳答案
你实际上应该使用 IntentService .它与 Service 的主要区别在于它不在主线程上运行。您可以通过绑定(bind)到服务或使用本地广播在服务和 Activity 之间交换信息。
参见 here供引用。
关于java - Android:如何管理永久后台任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30583635/