-2

对于我的应用程序,我想停止屏幕关闭功能

的,我只是想让它(通过按电源按钮关闭屏幕功能)禁用它,当用户按电源但我的应用程序正在运行时,屏幕不能关闭会给出一个 toast 消息是否可能?

目标 :

  1. 禁用自动屏幕超时。

使用这个完成

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

用了这个帖子

现在我的第一个问题是我的应用程序何时完成()超时将重置或屏幕将始终开启

2.仍然使用这个用户将能够关闭屏幕我的第二个问题是

我可以阻止用户执行此操作,而不是屏幕下车,而是显示警报消息

4

1 回答 1

1

在您Activity只需添加以下代码段:

public boolean onKeyDown(int keyCode, 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.onKeyDown(keyCode, event);
}

如果上面的代码段不起作用,你可以试试这个:

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);
}
于 2012-06-02T06:54:29.877 回答