我如何在程序中检测用户是否与Android手机的触摸屏或键盘进行过交互?交互可以是触摸或按键事件。创建一个服务来实现这个功能是否有帮助?我应该如何做到这一点?
我如何在程序中检测用户是否与Android手机的触摸屏或键盘进行过交互?交互可以是触摸或按键事件。创建一个服务来实现这个功能是否有帮助?我应该如何做到这一点?
如果您想在Activity
中实现此功能,您可以重写Activity
的onUserInteraction()方法。以下是该方法的Java文档:
每当键盘、触摸或轨迹球事件被分派到活动时调用。如果您希望知道用户在运行您的活动时以某种方式与设备交互,则实现此方法。此回调和onUserLeaveHint()旨在帮助活动智能地管理状态栏通知;具体而言,帮助活动确定取消通知的适当时间。
所有对您的活动的onUserLeaveHint()回调都将伴随着对onUserInteraction()的调用。这确保了您的活动将被告知相关的用户活动,例如下拉通知窗格并在其中触摸项目。
请注意,此回调将为开始触摸手势的触摸下行操作调用,但可能不会为后续的触摸移动和触摸抬起操作调用。
有很多方法可以完成这个目的。您可以在View实例上重写ontouchevent、onclick事件。