从系统服务到其他应用程序的异步通信

时间:2016-07-22 20:24:45

标签: android asynchronous ipc

我有一个在后台不断运行的系统服务,并通过I / O获得异步中断。我希望能够让其他应用知道何时发生中断以及该中断的性质。我想为大量不同且未知的应用提供此信息。

我一直在阅读关于约束和广播的问题intents(我非常确定不仅仅是这两种方式)。 在这种情况下,哪种通信方式最好将此信息发送出去并使其​​普遍可用?

1 个答案:

答案 0 :(得分:1)

“长时间不活动”意味着“不同且未知的应用程序”不应仅仅等待您的IPC运行。因此,您不仅需要传递邮件,还需要确保收件人正在运行某个进程。

我认为最简单的解决方案是广播Intent。这将:

  • 允许收件人在清单中注册以接收广播,因此如果需要,可以启动他们的流程而无需您的额外工作

  • 从您身边采用简化的“即发即弃”方法

我还没有实现系统服务。我认为从一个人发送广播不是那么难。

需要考虑的其他事项:

  • 如果可能的话,找出一个配料系统。您的最高15-20 /秒的速度并不像传感器读数那么差,但它仍然有点频繁。

  • 考虑一下您需要什么样的安全性(例如,自定义权限?)。