如何检测任何类型的用户交互?

时间:2012-08-02 17:12:28

标签: android events user-interaction

安全问题: 我现在不知道它是如何发生的,但是这些问题的读者想出这个问题的解决方案是一个安全威胁。所以请记住,我感兴趣的所有数据都是测量用户/活动的时间。就这样。用户做了什么 - 我对此感兴趣!


我需要的是非常简单的概念,但我找不到解决方案。我想运行一个进程(在后台)并有一个用户交互的监听器。

因此,用户触摸屏幕 - >我的方法被触发了。

用户解锁手机 - >我的方法被触发了。

物理键盘上的用户类型 - >我的方法被触发了。

所以简而言之,当手机仍在桌面上时,我的方法不会被触发:-)请注意,交互是针对整个手机,而不是我的应用程序,我对用户输入的字母“K”不感兴趣,我甚至不感兴趣用户输入的内容,我关心的是用户以某种方式使用手机。

顺便说一下。用户走路时听音乐的情况(口袋里的电话) - 这不是互动。

我正在寻找的是一个触发器 - 类似于INTERACTION_DETECTED,或者(相反)一个回调方法设置为reportInactiveUser(10*1000),如果用户处于非活动状态10秒钟,它将被调用。

问题如何检测用户互动?

目的:衡量手动使用手机的时间。

(缺少)PROGRESS

我发现BatteryStatsImpl可以保存我需要的数据。它的实例由BatteryStatsService保留,但不允许任何访问,只有IBatteryStats只有一个有趣的方法 - getStatistics,输出不包含用户活动计数器(或者它们都是零;我设置了所有权限)。所以,到目前为止 - 运气不好。

所有电话都必须通过反思来进行,因为这些课程无论如何都不可用;-)。

1 个答案:

答案 0 :(得分:0)

你想拦截与手机的物理互动。

对于屏幕触摸,this package会派上用场。 *您可以使用this在屏幕上聆听手势。

对于物理按键触摸,我建议您查看this