0

私は Android セットトップ ボックスでプログラミングしているので、配信されたリモコンの onKey イベントも実装する必要があります。

私の問題は、新しい PopupMenu を作成していて、特定の keyEvents でそれを却下したいということです。実際、ユーザーが (上/下) 以外のキーを押した場合は、常に閉じる必要があります。現時点では、戻るボタンまたはアイテムが押されたときにのみ消えます。ポップアップメニューの外に触れると、それも消えます。しかし、たとえばキー KeyEvent.KEYCODE_2 を押したときに、メニューを閉じることができるようにする必要があります。

主な問題は、onKeyDown/Up などのイベントをまったくキャッチできないことです!! Popupmenu が表示されているときに、Activity で KeyEvent をキャッチしません。

Popupmenu/ContextMenu モードでキー イベントをキャッチする可能性はありますか?

編集: MainActivity の onKeyDown キャッチがどのように見えるかの例を次に示します。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    Log.e("Key hit","true");
    try {
        switch (keyCode) {

        case KeyEvent.KEYCODE_DPAD_LEFT:
            Log.e("Test"," catch left");
            return true;

        case KeyEvent.KEYCODE_0:
            Log.e("Test","hit 0");
            break;
        case KeyEvent.KEYCODE_2:
            Log.e("Test","hit 2");

            break;

    } catch (Exception e) {
        Log.d("onKeyDown", "exception");
        e.printStackTrace();
    }
    return false;
}
4

0 に答える 0