我在 Android X-86 和 BlissOS 中遇到了问题。这是我在玩弄不同的命令后发现的解决我的特定问题的方法。您可以按照类似于https://android.stackexchange.com/a/6560/342111的过程在启动时自动执行此过程
另请注意,我在 Mac 上并且必须获得蓝牙 USB 适配器,因为 MacOS 不允许您使用内置蓝牙。
我还不得不强制 Mac 不自动捕获我的蓝牙 USB 加密狗,而是让 VirtualBox 接管它。命令是sudo nvram bluetoothHostControllerSwitchBehavior=never
至于为什么需要这样做,我不知道,但希望蓝牙在未来的 Android X-86 版本中更加稳定。
命令链(带睡眠延迟):
hciconfig && gsudo hciconfig hci0 down && sleep 10 && gsudo pm disable com.android.bluetooth && sleep 10 && gsudo pm enable com.android.bluetooth && sleep 10 && gsudo service call bluetooth_manager 6 && sleep 10 && gsudo hciconfig hci0 up
进入和离开终端的命令:
输入终端:Alt + F1
离开终端:Alt + F7
有序步骤说明:
hciconfig
gsudo hciconfig hci0 down
- 将蓝牙接收器置于“关闭”模式。
- 如果不同,请将 hci0 更改为您的蓝牙接收器的 ID
gsudo pm disable com.android.bluetooth
gsudo pm enable com.android.bluetooth
gsudo service call bluetooth_manager 6
- 终端调用以在设备上启用蓝牙。这也可以通过 Android UI 完成。
gsudo hciconfig hci0 up
额外命令:
gsudo service call bluetooth_manager 9
- 通过终端禁用蓝牙设置。这也可以手动完成,并且可能根本不需要此命令。
笔记:
gsudo
是 BlissOS 中的 sudo 命令。在 Android X-86 中也可能相同。上面的命令中可能不需要 gsudo,但我用它来衡量。