誰かがボリュームアップハードウェアキーで長いクリック (たとえば 2 秒) を取得する方法についてのコード例を見せてもらえますか?
ありがとう :)
編集
長いクリックをキャプチャしたいクラスはサービスです。どうやってやるの?
長いクリックをキャプチャする必要がある場合は、次の回答が役立つ場合があります。
https://stackoverflow.com/a/5269673/1401257
編集:
サービス内にキー リスナーを持たせようとしたことは一度もありませんが、Google の助けを借りて次のことを見つけました:ボリューム変更リスナー?
通常のキーイベントはActivityからしか扱えないようです。これを自分で試す時間はありませんが、長いクリックをキャプチャするために、リンクからの回答とルークスの回答を組み合わせることができる場合があります。BroadcastReceiversについて私が理解していることから、誰かが音量ボタンをクリックするたびにサービスに通知するレシーバーを作成したいと思うでしょう。
オプションで、次のようなことができます。
if(clickedDown) {
if(beginningTime + 2000 < System.currentTimeMillis()) {
// Ok, the button has been clicked down for 2 seconds
}
}
else {
beginningTime = System.currentTimeMillis();
}
このようなものを適用すると、待機する時間を定義できます。