书接上文:Android 手机蓝牙遥控器解决方案

本以为要从底层去修改很多的东西,但是后来发现并没有那么困难:
adb shell 命令可以去模拟人的操作,并且Android 中可以用

Runtime.getRuntime().exec("命令");

这些命令分为四大类:
1、adb shell input text + 需要输入的文字
例子:选中文本框,当前是输入状态,执行这条命令,文字就自动到文本框中了;
2、adb shell input keyevent + 键值对应的码
例子:键盘的一些操作,还有界面中的返回,home,音量增减等都是以这种方式来体现,后边会贴出不同的按键对应的键值,以便参考;
3、adb shell input tap + 以像素为单位的横纵坐标 // 表示单击该坐标位置
4、adb shell input swipe + 起始位置横纵坐标 + 空格+ 结束位置横纵坐标 // 模拟手指从 起始位置滑动到 结束位置

下边贴出一些常用的键值:(因为板子上一些功能不存在,无法验证是否可用,我会在后边注明)

3 -->  "KEYCODE_HOME" // 回到桌面4 -->  "KEYCODE_BACK" // 手机返回键5 -->  "KEYCODE_CALL" // 接电话/打电话(未验证)6 -->  "KEYCODE_ENDCALL" // 结束通话7 -->  "KEYCODE_0" // 数字 08 -->  "KEYCODE_1" 9 -->  "KEYCODE_2" 10 -->  "KEYCODE_3"11 -->  "KEYCODE_4" 12 -->  "KEYCODE_5" 13 -->  "KEYCODE_6" 14 -->  "KEYCODE_7" 15 -->  "KEYCODE_8" 16 -->  "KEYCODE_9" 17 -->  "KEYCODE_STAR" // 输入 *18 -->  "KEYCODE_POUND" // 输入 #19 -->  "KEYCODE_DPAD_UP" // 键盘上的上键20 -->  "KEYCODE_DPAD_DOWN" // 键盘上的下键21 -->  "KEYCODE_DPAD_LEFT" // 键盘上的左键22 -->  "KEYCODE_DPAD_RIGHT" // 键盘上的右键23 -->  "KEYCODE_DPAD_CENTER" //键盘上的 ok 键24 -->  "KEYCODE_VOLUME_UP"  // 音量增25 -->  "KEYCODE_VOLUME_DOWN" //音量减26 -->  "KEYCODE_POWER" // 在 Rk3288 上代表切断 hdmi 信号,即显示器会显示无信号输入,但其实并没有关机27 -->  "KEYCODE_CAMERA" // 调出 相机(未验证)28 -->  "KEYCODE_CLEAR"  // 期望可以清空输入框中的内容,但是没有作用29 -->  "KEYCODE_A" // 输入 A30 -->  "KEYCODE_B" 31 -->  "KEYCODE_C" 32 -->  "KEYCODE_D" 33 -->  "KEYCODE_E" 34 -->  "KEYCODE_F" 35 -->  "KEYCODE_G" 36 -->  "KEYCODE_H" 37 -->  "KEYCODE_I" 38 -->  "KEYCODE_J" 39 -->  "KEYCODE_K" 40 -->  "KEYCODE_L" 41 -->  "KEYCODE_M"42 -->  "KEYCODE_N" 43 -->  "KEYCODE_O" 44 -->  "KEYCODE_P" 45 -->  "KEYCODE_Q" 46 -->  "KEYCODE_R" 47 -->  "KEYCODE_S" 48 -->  "KEYCODE_T" 49 -->  "KEYCODE_U" 50 -->  "KEYCODE_V" 51 -->  "KEYCODE_W" 52 -->  "KEYCODE_X"53 -->  "KEYCODE_Y" 54 -->  "KEYCODE_Z" 55 -->  "KEYCODE_COMMA" // 输入逗号  ,56 -->  "KEYCODE_PERIOD" // 输入句号  。57 -->  "KEYCODE_ALT_LEFT"  // 按下左边的 alt58 -->  "KEYCODE_ALT_RIGHT" // 按下右边的 alt59 -->  "KEYCODE_SHIFT_LEFT" // 按下左边的 shift60 -->  "KEYCODE_SHIFT_RIGHT" // 按下右边的 shift61 -->  "KEYCODE_TAB" // 按下 tab 键62 -->  "KEYCODE_SPACE" // 按下空格键66 -->  "KEYCODE_ENTER" // 按下回车键67 -->  "KEYCODE_DEL" // 按下 delete 键(可以删除输入框中的光标前的一位)71 -->  "KEYCODE_LEFT_BRACKET" // 左边中括号72 -->  "KEYCODE_RIGHT_BRACKET" // 右边中括号73 -->  "KEYCODE_BACKSLASH" // 反斜杠 \74 -->  "KEYCODE_SEMICOLON" // 分号  ;75 -->  "KEYCODE_APOSTROPHE" // 单引号  '76 -->  "KEYCODE_SLASH" // 斜杠  /77 -->  "KEYCODE_AT" //  @81 -->  "KEYCODE_PLUS" // 加号  +82 -->  "KEYCODE_MENU"  // 打开menu菜单,在桌面调出最近任务

遥控器上按键需求:
1、基本需求:
上下左右按键,ok,菜单,返回,关机,home
2、特殊需求:
音量的加减;
3、文字输入:
文字输入,因为adb 方法无法实现模拟同时多个按键,并且尝试多次,无法实现大写字母输入,所以打算采用 input text 的方法来实现,需要添加一个删除文字的功能;

更多相关文章

  1. Android弹出软键盘时如何将底部顶上去
  2. Android软键盘弹出将底部栏顶上去并不会挤压界面
  3. Android(安卓)SystemUI源代码分析和修改
  4. android EditText inputAction后键盘保留和收起问题
  5. android audio 音量设置分析
  6. 【Android应用实例之五】调节播放器音量——AudioManager的应用
  7. Android(安卓)自定义数字键盘(三)自定义输入框
  8. android输入法中的imeoption
  9. 安装Termux的手机上运行Python

随机推荐

  1. 2011.09.09 ——— android 2.2 修改安装
  2. android am命令
  3. android 名称
  4. Android设计尺寸规范--Android(安卓)Desi
  5. shape的使用
  6. android 3G pppd 调试记录。
  7. Android(安卓)滚动Tab
  8. Android(安卓)Studio 指定DEBUG和RELEASE
  9. Android(安卓)限定 Activity 转向
  10. Android(安卓)横屏不重启 Activity