我们正在使用 Android 4.0.4 机顶盒上的应用程序,我们想按一些键来关闭屏幕(通过 HDMI 连接)并保持机顶盒运行。我们正在这样做:
/* Acquire Wake Lock */
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock lock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Tag");
lock.acquire();
/* Turn OFF screen */
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
//lock.release(); /* box will go to sleep if lock released */
当我们按下键时,屏幕确实关闭了,盒子似乎还在运行。但是,当我们尝试在这种状态下再次按下该键时,它会变成这样:
I/InputDispatcher( 173): Dropped event because input dispatch is disabled.
我们可以做些什么来检测这种状态下的按键输入吗?或者有没有其他方法可以让盒子保持工作并关闭屏幕?
提前致谢!