基于ADB Shell 实现的 Android TV、电视盒子万能遥控器

您所在的位置:网站首页 三星遥控器控制盒子 基于ADB Shell 实现的 Android TV、电视盒子万能遥控器

基于ADB Shell 实现的 Android TV、电视盒子万能遥控器

2024-07-16 09:18| 来源: 网络整理| 查看: 265

ADB Remote ATV

Android TV 的遥控器,基于 ADB Shell 命令

ADB Remote ATV 是一个 Android TV 的遥控器,基于 ADB Shell 命令,泛用性更高。

下面的 shell 命令,是软件的基本原理,通过 shell 命令可模拟物理遥控器的基本按键,此外还可以快捷启动指定APP、借助手机软键盘输入中/英字符等。

# 输入事件 adb shell input text # 向设备输入字符 adb shell input keyevent # 向设备输入按键事件 # 启动软件 adb shell am start # 启动设备上的软件 shell ime set # 切换输入法 shell settings get secure default_input_method # 获取当前输入法 软件功能 按键

对于的 shell 命令如下:

adb shell input keyevent # 向设备输入按键事件

其中的 keycode如下表:

功能 字符常量 数字键值 返回键 KEYCODE_BACK 4 按键Home KEYCODE_HOME 3 菜单键 KEYCODE_MENU 82 扬声器静音键 KEYCODE_VOLUME_MUTE 164 音量增加键 KEYCODE_VOLUME_UP 24 音量减小键 KEYCODE_VOLUME_DOWN 25 导航键 向上 KEYCODE_DPAD_UP 19 导航键 向下 KEYCODE_DPAD_DOWN 20 导航键 向左 KEYCODE_DPAD_LEFT 21 导航键 向右 KEYCODE_DPAD_RIGHT 22 导航键 确定键 KEYCODE_DPAD_CENTER 23 数字按键 KEYCODE_0 - KEYCODE_9 7 - 16 退格键 KEYCODE_DEL 67 TV 键 KEYCODE_TV 170 电源键 KEYCODE_TV_POWER 177 多媒体键 播放/暂停 KEYCODE_MEDIA_PLAY_PAUSE 85 多媒体键 快进 KEYCODE_MEDIA_FAST_FORWARD 95 多媒体键 快退 KEYCODE_MEDIA_REWIND 89 多媒体键 上一首 KEYCODE_MEDIA_PREVIOUS 88 多媒体键 下一首 KEYCODE_MEDIA_NEXT 87 字符输入

支持中/英字符,借助手机软键盘将字符输入到 Android TV 中。注意中文字符需要ADBKeyboard支持。

英文字符的 shell 命令如下:

shell input text # 向设备输入按键事件

中文字符的 shell 命令如下,需要ADBKeyboard的支持:

shell am start -a android.intent.action.VIEW -d

切换输入法命令如下:

shell ime set # 例如 shell ime set com.android.adbkeyboard/.AdbIME # 切换到ADBKeyboard

获取当前输入法:

shell settings get secure default_input_method 快捷启动

下图是一些可快速启动的软件 对应的 shell 命令如下:

shell am start # 向设备输入按键事件 # 例如 shell am start com.github.tvbox.osc/.ui.activity.HomeActivity # 启动TVBox

快捷启动软件可从软件仓库中添加,仓库从在线地址中解析,该 json 文件为项目根目录中的apps.json。例如

[ { "name": "TVBox", "icon": "https://raw.githubusercontent.com/SX-Code/ADBRemoteATV/main/icons/tvbox.png", "url": "com.github.tvbox.osc/.ui.activity.HomeActivity" }, { "name": "TVBox UI美化版", "icon": "https://raw.githubusercontent.com/SX-Code/ADBRemoteATV/main/icons/tvbox.png", "url": "com.github.tvbox.osc.tk/com.github.tvbox.osc.ui.activity.HomeActivity" }, ]

其中:

name:为该软件的名称 icon:为该软件的图标,便于展示 url:为该软件的启动路径。格式参考com.github.tvbox.osc/.ui.activity.HomeActivity

如何获取一个 APP 的启动路径,可从该软件的 AndroidManifest.xml 文件中获取,下面是一个示例文件,

从manifest标签中找到package属性,为启动路径的包 package 从带有LAUNCHER的activity中找到android:name属性,为启动路径的 activity package/activity组合起来就是启动命令的路径参数。 软件界面 项目地址

Gitee:https://gitee.com/SX-Code/ADBRemoteATV Github: https://github.com/SX-Code/ADBRemoteATV

鸣谢

ADBlib:https://github.com/cgutman/AdbLib

ADBKeyboard:https://github.com/senzhk/ADBKeyBoard?tab=readme-ov-file

圆形菜单按键:https://github.com/D10NGYANG/DL10RoundMenuView

数字进度条:https://github.com/daimajia/NumberProgressBar

本文来自博客园,作者:sw-code,转载请注明原文链接:https://www.cnblogs.com/sw-code/p/18206967



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3