【发布时间】:2012-08-02 09:36:52
【问题描述】:
我正在为android开发ui自动化平台。
由于某些原因,有时(非常罕见的)点击事件会被丢弃
当它发生时,我会在日志中看到
I/InputDispatcher( 2707): Dropped event because input dispatch is disabled.
请告知可以做些什么来启用输入调度。
提前谢谢你
【问题讨论】:
标签: android ui-automation dispatch
我正在为android开发ui自动化平台。
由于某些原因,有时(非常罕见的)点击事件会被丢弃
当它发生时,我会在日志中看到
I/InputDispatcher( 2707): Dropped event because input dispatch is disabled.
请告知可以做些什么来启用输入调度。
提前谢谢你
【问题讨论】:
标签: android ui-automation dispatch
在某些情况下,Input Dispatcher 会丢弃输入事件:
等等
在您的情况下,它的执行情况 4。意味着某些事情变得可疑或您的第一个输入尚未执行。所以 Input Dispatcher 被禁用了。
检查[中间件类InputDispatcher.cpp的方法dropInboundEventLocked@
【讨论】:
仅在屏幕关闭时发生。点击事件正在打开屏幕,但它比打开屏幕更快。
现在,我正在检查屏幕是否关闭并打开
//Acquire wake lock in case screen is off
if (PermissionsUtil.checkSelfPermission(getContext(), Manifest.permission.WAKE_LOCK))
{
PowerManager pm = (PowerManager)getContext().getSystemService(Context.POWER_SERVICE);
if (pm.isScreenOn() == false)
{
wakeLock = pm.newWakeLock((PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), TAG);
//
wakeLock.acquire();
Log.d(TAG,"Acquiring wake lock");
}
}
//Do my stuff
//Release wake lock in case it was acquire
if (wakeLock != null && wakeLock.isHeld())
{
wakeLock.release();
wakeLock = null;
Log.d(TAG,"Releasing wake lock");
}
【讨论】: