java - Android:如何管理永久后台任务?

标签 java android service usb background-task

我正在开发一个在主机模式下使用 USB 的 Android 应用程序。 当应用程序正在运行并且设备已连接时,我需要实时了解设备向智能手机发送的内容。

传输是在中断模式下使用 Android SDK 执行的。

目前,我使用 Service(它实际上运行一个新线程来执行 while 循环)来完成它,但我确信有更好的方法来处理这种情况。此外,使用服务很难从另一个类检索/发送数据。

我想到的另一个解决方案是使用一个线程,没有Service。然后我会有一个类,它公开静态方法(startReadingThreadstopReadingThreadsendData...),线程可以作为应用程序启动后立即启动,而无需在每次 Activity 之间停止/重新启动服务

那么,我的问题是:如何管理这种后台任务?

如果需要,可以提供示例代码。谢谢。

最佳答案

你实际上应该使用 IntentService .它与 Service 的主要区别在于它不在主线程上运行。您可以通过绑定(bind)到服务或使用本地广播在服务和 Activity 之间交换信息。

参见 here供引用。

关于java - Android:如何管理永久后台任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30583635/

相关文章:

java - 在 Java 中访问序列化对象的字段时遇到问题

java - 需要了解 buildSrc Gradle 项目中的这段 Kotlin 代码

java - 可插拔通信模块的设计模式

Python 服务文件缓存 Apache 竞态条件

android - 获取应用程序上下文

java - 绑定(bind)服务出错

java - 有没有更简单的方法来显示这个 Java UI?

android - 在android中设置按钮文本字体

android - 使用 facebook open graph stories v4 将图片附加到 Action

iphone - 哪些移动设备支持像 SQLite 这样的数据库?