当手机正在睡觉时(屏幕关闭),我需要长按音量按钮,我知道这段代码:
@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);
}
没有帮助(它仅适用于主动意图
答案 0 :(得分:6)
我也很好奇。 虽然这不一定是答案,但我已经对服务进行了一些研究(以捕捉我猜的音量按压)和BroadcastReceivers(onReceive()会收到ACTION_SCREEN_OFF的意图,并且可能设置屏幕关闭的标志) 。我的想法是在屏幕关闭时启动服务并在屏幕打开时将其终止,但我不知道如何加入onKeyLongPress和服务。
我看到的序列是:屏幕关闭 - > BroadcastReceiver接收此命令并启动服务以观察音量按 - >接收音量按下并按逻辑执行 - >如果屏幕打开,则终止服务。
我找到了一个显然处理屏幕关闭/打开的网站,并且有一个活动和服务的示例,但我还不能得到一些东西: http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/
使用服务时我担心的一件事是电池寿命和处理时间,但这将是在路上测试。希望能够在屏幕打开时杀死服务来缓解这种情况。随着我的进步,我会尽量保持这个条目的更新。
祝你好运!