我的目标是从一个标准(即非系统)应用程序发送 HDMI CEC 命令,该应用程序在配备 Pulse-Eight 的 USB 加密狗的 Android 盒子上运行。
按照这些说明,我成功地为 Android 编译了 libcec,并使用以下命令在盒子上以 root 身份执行它:
echo <my-cec-command> | cec-client -s /dev/ttyACM0
/dev/ttyACM0
插入加密狗时系统创建的设备文件在哪里。
但是,此文件的权限会阻止该命令由非 root 用户执行(因此无法从我的 Android 应用程序执行)。
另一方面,该应用程序实际上可以通过 Android SDK 的USB 主机 API访问 USB 加密狗(前提是用户授予权限),甚至可以使用UsbSerial库将其包装到 USB 串行控制器中。
但是我看不到任何方法可以在 Android 的 USB Host API 和 libcec/cec-client 提供的连接之间建立桥梁。你有什么想法或建议吗?