模拟点击系统按键


private void sendEvent(int action, int code) {
    long when = SystemClock.uptimeMillis();
    final KeyEvent ev = new KeyEvent(when, when, action, code, 0 /* repeat */,
            0 /* metaState */, KeyCharacterMap.VIRTUAL_KEYBOARD, 0 /* scancode */,
            KeyEvent.FLAG_FROM_SYSTEM | KeyEvent.FLAG_VIRTUAL_HARD_KEY,
            InputDevice.SOURCE_KEYBOARD);
    InputManager.getInstance().injectInputEvent(ev, InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
}

点击返回键:

sendEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
sendEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);

点击返回键:

sendEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HOME);
sendEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HOME);

KeyCode 定义参考 import android.view.KeyEvent 中的属性

posted @ 2023-06-05 11:49  阿丟啊  阅读(83)  评论(0编辑  收藏  举报