【发布时间】:2013-04-24 20:46:13
【问题描述】:
我想知道在 Android 中监控系统事件和操作系统活动的正确方法。到目前为止,我的研究表明有多种方法可以运行活动、服务、BroadCastReceivers 等,但是对于我想要完成的所有事情,我还没有一个全面的答案。我今天确实遇到了一个名为“Carrier IQ”的应用程序,并且想知道他们是如何做到的。我相信他们的应用程序内置于内核或至少手机的操作系统映像中,我希望尽可能避免这样做。
我知道 Android SDK 提供了多种获取方式 既然我的应用程序不能被暂停,它应该作为前台服务运行吗?如果我这样做,如果我需要轮询各种活动,我会消耗太多资源吗?我问这个是因为我认为我不能通过接收事件(即使用 BroadCastReceiver)来获得所有内容。我想我需要将投票和事件结合起来。
我想记录传感器、事件、操作系统活动等以进行用户研究。这不是为了黑客或网络钓鱼目的!
以下是我认为可能完成与我想要实现的目标类似的前三个项目,但我尚未确定它们是否是可行的解决方案:
【问题讨论】:
-
“我想知道在 Android 中监控系统事件和操作系统活动的正确方法”——在地球上大约 80 亿人中,零知道“系统事件和操作系统活动”。请提供您希望收集的所有内容的完整且具体列表,因为每个内容可能有不同的方法和 API。
-
有问题。我应该从一个基本框架开始,该框架将允许未来的“插件”支持应该监控的新事物。我知道这很模糊,这是问题的一部分。但首先我需要监控传感器、操作系统功能(CPU 使用情况、网络使用情况等)和用户活动。
-
@CommonsWare 另一件事:这主要是一个后台进程,将记录到文件中,因此不需要像大多数操作系统监视器那样为最终用户查看的 UI。所有记录的数据都需要保存到一个文件中,以便传输到执行分析的后端服务器。
标签: android events operating-system monitor polling