11

android SDKで電話のキー押下をキャッチするにはどうすればよいですか?私は何も見つけずに何時間も見回してきました。

例えば:

場合によっては、ユーザーが電話の「電話を切る」ボタンを押したときにメッセージをキャッチし、OSに到達する前にメッセージを破棄したいことがあります。

これは可能ですか?

4

1 に答える 1

19

ビューから、または一般的にアプリケーション全体の主要なイベントを処理できます。

ビューからのonKeyの処理:

public boolean onKey(View v, int keyCode, KeyEvent event) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_ENTER:
         /* This is a sample for handling the Enter button */
      return true;
    }
    return false;
}

OnKeyListenerを実装し、リスナーを設定することを忘れないでくださいYourView.setOnKeyListener(this);

2番目の可能性は次のとおりです。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
     switch (keyCode) {
     case KeyEvent.KEYCODE_MENU:
        /* Sample for handling the Menu button globally */
        return true;
     }
     return false;
} 

また、を見てみることができますonKeyUp

リソース:http ://developer.android.com/reference/android/view/View.html

そして、ここですべてのKeyEventsのリストを見ることができます

于 2010-02-14T17:34:43.037 に答える