我们正在开发用于支付终端的应用程序,目前我们有一个要求,即应用程序应不断轮询通过串行端口来自电子收银机(ECR)的数据。从ECR接收的数据具有包含与应用程序相对应的唯一ID的格式。我当时正在考虑处理此问题的最佳方法,然后我想到了两个想法:
每个需要接收或发送数据到ECR的应用都将实现一项服务,该服务将不断轮询通过串行端口传入的数据。理想情况下,服务将“永远运行”。基于此post,我已经进行了长期运行的服务,可以监听串行端口数据。但是,我怀疑如果多个应用程序具有各自的服务来执行相同的操作,则该方法是否仍然有效。另外,我担心Android可能会在内存不足的情况下决定停止运行服务。
我们也在开发一个启动器应用程序,因此我在考虑,不是每个应用程序都监听ECR中的数据,而是启动器应用程序将是唯一负责监听数据并路由接收到的数据的应用程序到适当的应用程序。这种方法的一个问题是启动器应用程序应该能够映射消息的应用程序ID和要启动的应用程序的相应程序包名称。
什么是最好的方法?