如何抓住长按电源按钮?

时间:2011-07-27 06:50:35

标签: android

我正在尝试开发一个可以在点击电源按钮后执行某项操作的应用。

我有一个捕获onClick of Power按钮的代码,但它似乎不起作用。屏幕会锁定。

现在我试图捕捉电源按钮的onLongPress,防止出现“关闭电源”选项。有关如何做到这一点的任何建议吗?

提前感谢。

3 个答案:

答案 0 :(得分:12)

这肯定会阻止长按按钮。

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if(!hasFocus) {
           Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
            sendBroadcast(closeDialog);
        }
    }

答案 1 :(得分:1)

嗨,你只是试着报道这个事件而不是Kartik指出你只需要玩onKeyDown事件。

但形成我对你的问题的理解,你实际上想要阻止电源按钮的行为,而这是无法做到的。 就像按下主页按钮一样,无法阻止Android中的某些事件,以避免人们拥有无法退出的应用程序。

答案 2 :(得分:0)

您可以强制屏幕保持开启,如http://developer.android.com/reference/android/os/PowerManager.html

中所述

这可能会耗尽CPU并弄乱人们对按下电源按钮时会发生什么的期望,所以要小心。