0

誰かがボリュームアップハードウェアキーで長いクリック (たとえば 2 秒) を取得する方法についてのコード例を見せてもらえますか?

ありがとう :)

編集

長いクリックをキャプチャしたいクラスはサービスです。どうやってやるの?

4

2 に答える 2

2

長いクリックをキャプチャする必要がある場合は、次の回答が役立つ場合があります。

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

編集:

サービス内にキー リスナーを持たせようとしたことは一度もありませんが、Google の助けを借りて次のことを見つけました:ボリューム変更リスナー?

通常のキーイベントはActivityからしか扱えないようです。これを自分で試す時間はありませんが、長いクリックをキャプチャするために、リンクからの回答とルークスの回答を組み合わせることができる場合があります。BroadcastReceiversについて私が理解していることから、誰かが音量ボタンをクリックするたびにサービスに通知するレシーバーを作成したいと思うでしょう。

于 2012-05-21T12:50:25.073 に答える
1

オプションで、次のようなことができます。

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

このようなものを適用すると、待機する時間を定義できます。

于 2012-05-21T13:07:13.090 に答える