Tip
当然如果你用的是苹果耳机,就不会发生此类问题。因为当有第二个设备尝试连接苹果耳机的时候,苹果耳机会断开当前连接。
但市面上大部分蓝牙耳机还是我说的第一种情况,已经连接上的蓝牙耳机,不会被第二个设备强行断开。
当然这是一种很好的安全策略,所以也无法来评判好坏。
所以,现在的解决方案很简单,就是mac电脑只要休眠的时候,断开蓝牙就好了。
看起来很简单,在电脑休眠的时候,能够自动关闭蓝牙连接。
但是翻遍网络上的一些解决方案,完全无用。
比如关闭自动唤醒。
当你把所有mac电脑的设置都配置下之后,发现于事无补。
下面就是我实验过后的一个切实可行的方案。
brew install sleepwatcher blueutil
step 1: 创建 ~/.sleep
#!/bin/sh
/opt/homebrew/bin/blueutil --power 0
step 2: 创建 ~/.wakeup
#!/bin/sh
/opt/homebrew/bin/blueutil --power 1
step 3: 添加权限
chmod +x ~/.sleep ~/.wakeup
step 4: 启动服务
brew services start sleepwatcher
手动执行 pmset sleepnow
设置休眠,然后测试蓝牙耳机是否关闭。
唤醒后,测试蓝牙是否已经连接上。
Note
which blueutil
来确定蓝牙工具的位置,调整为你自己的。 因为sleepnow中,无法加载环境变量,所以这里必须设定blueutil为绝对路径。