我想知道在 Android 中监视系统事件和操作系统活动的正确方法。到目前为止,我的研究表明有多种方法可以运行活动、服务、BroadCastReceivers 等,但对于我想要完成的所有事情,我还没有一个全面的答案。我今天确实遇到了一个名为“Carrier IQ”的应用程序,我想知道他们是如何做到的。我相信他们的应用程序内置在内核或至少手机的操作系统映像中,我想尽可能避免这样做。
我知道Android SDK提供了多种获取方式,既然我的应用不能被挂起,是不是应该作为前台服务运行呢?如果我这样做,如果我需要轮询各种活动,我会消耗太多资源吗?我问这个是因为我不认为我可以通过接收事件(即,使用 BroadCastReceiver)获得所有内容。我认为我需要将投票和事件结合起来。
我想记录传感器、事件、操作系统活动等以进行用户研究。这不是为了黑客或网络钓鱼目的!
这些是我认为可能完成与我想要实现的目标类似的前三个项目,但我尚未确定它们是否是可行的解决方案: