如何检测任何类型的用户交互?(How to detect user interaction of a

2019-09-20 17:01发布

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


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

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

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

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

因此,在短期我的方法不会被触发时,手机仍然处于在桌子上:-)请注意,互动是整个手机,而不是与我的应用程序,我不感兴趣用户键入的字母“K”,我甚至不感兴趣用户键入的东西,我才不管是用手机在某些方面的用户。

顺便说一句。 当用户行走听音乐(手机在口袋里)的状态 - 它不是互动。

我所寻找的是一个触发-像INTERACTION_DETECTED ,或(相反)的回调方法被设置像reportInactiveUser(10*1000)如果用户不活跃,持续10秒它会被调用。

问题如何检测用户交互?

用途:用于测量手动使用手机的时间。

(缺乏)PROGRESS

我发现BatteryStatsImpl可容纳我需要的数据。 它的实例是保持BatteryStatsService ,然而这并没有让任何访问权限,只IBatteryStats这又只有一个有趣的方法- getStatistics和输出不包括用户活动计数器(或他们都是零;我设置所有权限)。 所以,到目前为止 - 运气不好。

所有来电都被反射进行,因为这些类不可反正;-)。

Answer 1:

你想拦截与手机的物理相互作用。

对于屏幕触摸, 这个包会来得心应手。 *您可以使用这个监听在屏幕上比划。

对于物理按键触摸,我建议你看看这个 。



文章来源: How to detect user interaction of any kind?