【发布时间】:2018-11-30 09:54:22
【问题描述】:
我正在尝试使用蓝牙 HID 设备配置文件服务为 Android P 编写一个应用程序,以用作蓝牙键盘。根据documentation我应该使用方法BluetoothAdapter.getProfileProxy(Context, BluetoothProfile.ServiceListener, int)来获取BluetoothHidDevice代理对象。
在我的 Android Pie 设备(诺基亚 7 plus)上调试期间,服务监听器永远不会被调用 (onServiceConnected),我在 Logcat 中收到以下错误:
Could not bind to Bluetooth HID Device Service with Intent { act=android.bluetooth.IBluetoothHidDevice }
如果我将上述调用中的最后一个参数从 HID_DEVICE 更改为其他蓝牙配置文件,例如A2DP,服务监听得到回调onServiceConnected,没有报错。
- 有没有人在 Android Pie 上创建了一个可以工作的 HID_DEVICE?
-
BluetoothHidDevice可以用于在 Android 上创建隐藏设备 派手机? - 有没有我可以查看的工作代码?
- 有什么功能吗(
getPackageManager().hasSystemFeature) 我的手机里不见了? - 上述错误的原因可能是什么?
任何提示将不胜感激:)
这似乎是第三方问题。诺基亚没有在 Android Pie 中启用隐藏配置文件。我也试过摩托罗拉G7玩,它也被禁用了,我想是时候换一个像素了……
【问题讨论】:
-
我尝试在 Oreo 8.1 上使用 Xposed 解决这个问题(因为它已实现但被禁用和隐藏),我也遇到了这个问题。对我来说,这是因为该服务在清单中被禁用(
android:enabled="@bool/profile_supported_hidd"并且 bool 设置为 false)。我用setComponentEnabledSetting修复了它 -
我真的很想知道使用 Android 作为 HID 设备是否适用于 Android Pie。我想以编程方式使用我的 Pixel 2XL 作为游戏控制器
-
我也会把这个放在这里..也许有人可以直接联系作者,看看他是否可以帮助提供答案xda-developers.com/android-p-bluetooth-keyboard-mouse
-
@Kim 我也在制作一个应用程序,用于在 android pie 上使用 android 作为蓝牙键盘。如果您愿意,我们可以一起解决这个问题。如果我在这个问题上取得任何进展,我会通知您。
-
根据 google 问题跟踪器,这可能是第三方问题。我可以确认在 OnePlus 6 / OxygenOS 9.0.4 上,HID 设备服务仍然被禁用,就像 @ralismark 对 Oreo 的描述一样。 :(
标签: android android-bluetooth hid