0

我有一个应用程序,如果我的应用程序屏幕有时会关闭,我想单击屏幕以唤醒屏幕。我知道我可以按下电源来处理使用 flag_user_present 接收广播或

public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
    //do nothing but show a warning message
    Toast.makeText(this, "you pressed the power button",Toast.LENGTH_SHORT).show();
    return true;
}

  return super.dispatchKeyEvent(event);
} 

但我想点击屏幕做同样的事情,所以我重载了 ontouch 事件,但是当屏幕关闭时,ontouch 不接收焦点并处理点击事件。所以我的问题是如何在屏幕关闭时处理点击事件(我的屏幕没有锁定并保持相同的活动,只有屏幕关闭)

4

2 回答 2

3

当设备关闭屏幕时,您将无法执行此操作。如果屏幕关闭,则触摸屏通常会被内核立即关闭(如果未进行其他修改)。发生这种情况的原因很明显。
您可以使用 tsp 在他的回答中所说的内容,并通过将其变黑来模拟屏幕关闭,将亮度尽可能低,然后仍然监听触摸事件。但请记住,这种行为是用户出乎意料的,他可能会认为屏幕已关闭,而实际上并非如此。我不建议这样做!此外,并非所有设备都允许零亮度。

于 2013-10-29T09:33:57.740 回答
0

你可以用

android:keepScreenOn="true" 
于 2013-10-29T09:28:39.190 回答