在睡眠中长按音量按钮(android)

时间:2011-05-12 06:03:55

标签: android button sleep

当手机正在睡觉时(屏幕关闭),我需要长按音量按钮,我知道这段代码:

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) 
    {
        // to your stuff here
        return true;
    }
    return super.onKeyLongPress(keyCode, event);
}

没有帮助(它仅适用于主动意图

1 个答案:

答案 0 :(得分:6)

我也很好奇。 虽然这不一定是答案,但我已经对服务进行了一些研究(以捕捉我猜的音量按压)和BroadcastReceivers(onReceive()会收到ACTION_SCREEN_OFF的意图,并且可能设置屏幕关闭的标志) 。我的想法是在屏幕关闭时启动服务并在屏幕打开时将其终止,但我不知道如何加入onKeyLongPress和服务。

我看到的序列是:屏幕关闭 - > BroadcastReceiver接收此命令并启动服务以观察音量按 - >接收音量按下并按逻辑执行 - >如果屏幕打开,则终止服务。

我找到了一个显然处理屏幕关闭/打开的网站,并且有一个活动和服务的示例,但我还不能得到一些东西: http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/

使用服务时我担心的一件事是电池寿命和处理时间,但这将是在路上测试。希望能够在屏幕打开时杀死服务来缓解这种情况。随着我的进步,我会尽量保持这个条目的更新。

祝你好运!