0

我们正在使用 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.

我们可以做些什么来检测这种状态下的按键输入吗?或者有没有其他方法可以让盒子保持工作并关闭屏幕?

提前致谢!

4

1 回答 1

0

也许您可以将 WakeLock 与PARTIAL_WAKE_LOCK一起使用-允许关闭屏幕,您只需尝试禁用事件即可。

顺便说一句,您要按下以唤醒设备的键是显示器上的硬件键还是软件键?

于 2013-05-07T05:34:04.393 回答