Android tv перехват нажатий кнопок

Как в android можно перехватить или хотя бы отследить нажатие определенных кнопок пульта?

А именно KEYCODE_TV, KEYCODE_EXPLORER, KEYCODE_ALL_APPS.

dispatchKeyEvent не может отловить нужные мне кнопки.

Знаю что через BroadcastReceiver можно отловить нажатие KEYCODE_HOME, с помощью IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS), безуспешно пытался отловить через Intent.CATEGORY_APP_BROWSER и Intent.ACTION_ALL_APPS

Самое интересное что у себя в приложении я могу отловить отпускание кнопки KEYCODE_EXPLORER, но не KEYCODE_TV, KEYCODE_ALL_APPS.

2021-05-21 00:50:58.772 22413-22413/? D/AndroidRuntime: Calling main entry com.android.commands.input.Input
2021-05-21 00:50:58.773 22413-22413/? I/Input: injectKeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_EXPLORER, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=122452772, downTime=122452772, deviceId=-1, source=0x101 }
    
    --------- beginning of system
2021-05-21 00:50:58.774 1608-1681/system_process I/WindowManager: Not starting activity because user setup is in progress: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 sel=act=android.intent.action.MAIN cat=[android.intent.category.APP_BROWSER]} }
2021-05-21 00:50:58.775 22413-22413/? I/Input: injectKeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_EXPLORER, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=122452772, downTime=122452772, deviceId=-1, source=0x101 }
    
>>>>2021-05-21 00:50:58.777 19081-19081/us.test.debug W/MainActivity: dispatchKeyEvent code: 64 repeated: 0 getAction 1
    
2021-05-21 00:50:58.777 22413-22413/? D/AndroidRuntime: Shutting down VM

А для кнопки еще есть такая строка KEYCODE_ALL_APPS

I/WindowManager: Not starting activity because user setup is in progress: Intent { act=android.intent.action.ALL_APPS pkg=com.google.android.tvlauncher }

Ответы (0 шт):