TV端模拟物理按键分发消息Android实现

97 阅读1分钟

写一个工具类VirturlKeyPadCtr(如下),

设置 keyCode = KeyEvent.KEYCODE_DPAD_RIGHT

然后调用下面工具类的 VirturlKeyPadCtr.simulateKeystroke(keyCode) 就可以实现模拟物理按键的效果。

public class VirturlKeyPadCtr {
    private static Instrumentation mInstrumentation;

        /**
         * Wrapper-function taking a KeyCode. A complete KeyStroke is DOWN and UP
         * Action on a key!
         */
    public static void simulateKeystroke(final int KeyCode) {
        new Thread(new Runnable() {
            public void run() {
                try {
                    Instrumentation inst = new Instrumentation();
                    inst.sendCharacterSync(KeyCode);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}