博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android4.0之后添加虚拟按键方法
阅读量:4051 次
发布时间:2019-05-25

本文共 1304 字,大约阅读时间需要 4 分钟。

Android4.0以后添加虚拟按键方法

  public void sendKeySync(KeyEvent event) {



    long downTime = event.getDownTime();
    long eventTime = event.getEventTime();
    int action = event.getAction();
    int code = event.getKeyCode();
    int repeatCount = event.getRepeatCount();
    int metaState = event.getMetaState();
    int deviceId = event.getDeviceId();
    int scancode = event.getScanCode();
    int source = event.getSource();
    int flags = event.getFlags();
    if (source == InputDevice.SOURCE_UNKNOWN) {

      source = InputDevice.SOURCE_KEYBOARD;
    }
    if (eventTime == 0) {

      eventTime = SystemClock.uptimeMillis();
    }
    if (downTime == 0) {

      downTime = eventTime;
    }
    KeyEvent newEvent = new KeyEvent(downTime, eventTime, action, code, repeatCount, metaState,
        deviceId, scancode, flags | KeyEvent.FLAG_FROM_SYSTEM, source);
    InputManager.getInstance().injectInputEvent(newEvent,
        InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
  }
  
  /**
   * Sends an up and down key event sync to the currently focused window.
   * 
   * @param key The integer keycode for the event.
   */
  public void sendKeyDownUpSync(int key) {    
    sendKeySync(new KeyEvent(KeyEvent.ACTION_DOWN, key));
    sendKeySync(new KeyEvent(KeyEvent.ACTION_UP, key));
  }

需要系统权限才能使用

转载地址:http://bdici.baihongyu.com/

你可能感兴趣的文章
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
mongdb在java中的应用
查看>>
区块链技术让Yotta企业云盘为行政事业服务助力
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>
Yotta企业云盘助力科技行业创高峰
查看>>
Yotta企业云盘更好地为教育行业服务
查看>>
Yotta企业云盘怎么帮助到能源化工行业
查看>>