首先,我知道WakeLock和setKeepScreenOn。我的需求有点不同,我什至不确定这是否可能。
我通过调用在一个线程中生成触摸事件,MotionEvent.obtain()
然后使用activity.dispatchTouchEvent()
. 这工作正常,除了设备可以进入睡眠状态,因为生成的触摸事件似乎没有被识别为用户活动,并且手机可以由于不活动而进入睡眠状态。
是否有可能,如果可以,如何告诉活动(或应用程序,或操作系统;无论需要告诉什么)“嘿,有活动”,所以它不会自动睡眠,但仍然允许手机自动睡眠如果足够长的时间没有任何活动(即如果我的线程在足够长的时间内没有生成并发送触摸事件),则正常?基本上,我希望这些生成的触摸事件能够像真正的触摸事件一样让手机保持清醒。WakeLock
and的问题setKeepScreenOn()
在于,由于不活动,它们会强制屏幕保持打开状态并且不允许其休眠(或任何用户设备的默认行为)。