我开发了一个 Android 应用程序,它通过蓝牙连接到游戏手柄控制器,并显示 Android 设备上手持控制器上的按钮按下、操纵杆移动等。
应用程序和源代码位于 Github 上:https://github.com/portsample/gamecontroller
这项工作的一个难以实现的目标是让应用程序捕获游戏手柄控制器的电池状态并显示在 Android 设备上。使用 SDK 33 或更高版本的 Google Android API 可能会或可能不会实现此目的。任何建议或建议将不胜感激。
Xbox 控制器是蓝牙低功耗 (BLE) 设备,并实现电池服务(服务 UUID 0x180f)以公开电池电量和电池的其他信息。
hid-playstation.c 是 Sony PlayStation 4 和 5 游戏手柄的 Linux 驱动程序。
dualshock4_parse_report
和dualsense_parse_report
解析游戏手柄发送的数据,包括电池电量。
hid-nintendo.c 是 Nintendo Switch 游戏手柄的 Linux 驱动程序。
joycon_parse_battery_status
读取电池电量。
我不确定是否可以通过 Android API 获取此信息。