Android - 获取音量按钮长按

时间:2012-05-21 12:43:41

标签: android click touch hardware wait

有人可以告诉我一个关于如何在音量增加硬件密钥上长时间点击(例如2秒)的代码示例吗?

谢谢:)

修改

我想要捕获长按的类是一个服务。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

如果您只需要捕获长按,这个答案可能会有所帮助:

https://stackoverflow.com/a/5269673/1401257

编辑:

我从来没有试过在服务中设置一个关键的监听器,但是在Google的一点帮助下我发现了这个:Volume change listener?

普通的关键事件似乎只能从活动中处理。我没有时间自己尝试这一点,但是为了获得长时间点击,可以将链接的答案和Lukes的答案结合起来。 根据我对BroadcastReceivers的理解,您可能希望创建一个接收器,只要有人点击音量按钮就会通知服务。

答案 1 :(得分:1)

您可以选择执行以下操作:

if(clickedDown) {
if(beginningTime + 2000 < System.currentTimeMillis()) {
// Ok, the button has been clicked down for 2 seconds
}
}
else {
beginningTime = System.currentTimeMillis();
}

应用这样的东西,你就可以定义等待的时间。