good/best 实现除主线程之外的长期服务的方法是什么

What is a good/best way to implement a long living service apart from main thread

我正在 Android 的 POS(销售点)应用程序中实施支付终端。我已经得到了一个通过蓝牙与支付终端通信的SDK。

应用程序启动:初始化支付终端,检查连接。

然后我需要在整个应用程序生命周期中保持它的活动状态,以便能够检查连接状态和 start/cancel 事务。

这里的主要问题是,good/best 实现它的方法是什么。 我不能在主线程中使用它,因为我在这样做时遇到了 ANR。

我在想我也许应该创建一个 运行 在另一个进程中的服务。

我发现了这个 table,它让我知道了我可以使用什么,但我还是不确定。此处最接近使用的是 IntentService,但恐怕由于我不能 运行 与之并行的任务,我将无法在交易进行时取消它。 Difference between Android Service,Thread,IntentService and AsyncTask

解决方案是否是在启动时启动线程的常规服务?

旁注是我还需要能够使用内容提供程序来保存交易数据。

你有什么建议?

提前致谢

使用拥有线程的普通服务。将作业发送到该线程以在其上并行执行。它是一种相当常见的实现模式。