How to intercept a hard key pressed in a service?

前端 未结 2 651
遇见更好的自我
遇见更好的自我 2021-01-14 22:36

Is there anyway to intercept that a hard key was pressed by using a service in order to launch an activity?

In other words : Is it possible to handle the KeyEvents i

相关标签:
2条回答
  • 2021-01-14 22:50

    There is no general way to listen for the key events of the hardware keys from anything besides the currently active application.

    Only the CAMERA button event can be detected, via its broadcast Intent.

    The ACTION_CAMERA_BUTTON is broadcast when the CAMERA button is pressed and is not intercepted by the foreground activity: developer.android.com/reference/android/content/…

    This means you can only detect the press if the application in the foreground is not handling the key press.

    0 讨论(0)
  • 2021-01-14 22:52

    Yes. You can capture KeyEvents with an InputMethodService. The Hard-Keys have their own key codes, just like the Soft-Keys.

    Look at the SoftKeypad example that google made.

    0 讨论(0)
提交回复
热议问题