当手机处于 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);
}
没有帮助(它仅在主动 Intent 中有效
最佳答案
我也很好奇这个问题。 虽然这不一定是答案,但我已经对服务(为了捕捉我猜测的音量按下)和广播接收器(onReceive()将收到 ACTION_SCREEN_OFF 的 Intent 并可能为屏幕关闭设置一个标志)进行了一些研究。我的想法是在屏幕关闭时启动服务并在屏幕打开时杀死它,但我不知道如何加入onKeyLongPress和服务。
我看到发生的顺序是这样的:屏幕关闭 -> BroadcastReceiver 接收此命令并启动服务以监视音量按下 -> 接收音量按下并执行逻辑 -> 如果屏幕打开则终止服务。
我发现一个网站显然可以处理屏幕关闭/打开,并且有一个 Activity 和服务的示例,但我还无法将一些东西放在一起: http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/
使用服务时我担心的一件事是电池生命周期和处理时间,但这将在以后进行测试。我希望能够通过在屏幕打开时终止服务来缓解这种情况。随着我的进步,我会尽力更新此条目。
祝你好运!
关于android - 在 sleep 状态下长按音量按钮(android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5973933/