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

Posted

技术标签:

【中文标题】Android:如何管理永久后台任务?【英文标题】:Android: How to manage permanent background task? 【发布时间】:2015-06-01 21:30:11 【问题描述】:

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

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

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

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

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

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

【问题讨论】:

【参考方案1】:

您实际上应该使用IntentService。它与 Service 的主要区别在于它不在主线程上操作。您可以通过绑定到服务或使用本地广播在服务和活动之间交换信息。

参考here。

【讨论】:

以上是关于Android:如何管理永久后台任务?的主要内容,如果未能解决你的问题,请参考以下文章

怎么关闭WPS2019后台的自动运行,是关了后台又自动运行

一个界面如何用于不同的后台android任务?

从后台任务中更新android UI

如何在Android Studio中使用Java的应用程序后台执行HttpURLConnection之类的任务?

Android在后台运行任务时关闭屏幕

[译]图解Android应用的后台任务和提醒