场景:控制端——普通手机;被控制端——XX设备(无屏幕、无法用户操作、有系统权限)
蓝牙开启后查找设备有两种方式:搜索和指定mac。用搜索功能查找蓝牙设备,涉及“可见性”的概念,蓝牙对外可见(即能被别的蓝牙设备搜索到)最多可设置为300s(即5分钟),而指定mac的方式则没有时间限制,只要蓝牙开启就可以找到设备。因为XX设备与控制端需要随时能(配对)连接,显然搜索查找的方式,不适用于XX设备。因此只能选择指定mac地址的方式。
配对是建立连接的基础,任何从未配对过(或曾经配对但其中一方已删除配对关系)的设备都无法建立连接,因此配对无法绕过。配对的方式有输入pin码、输入密码、免输入的随机验证码等多种。当前XX设备与控制端的配对方式为免输入的随机验证码,两端确认6位数密码一致,点击“确认配对”即可完成配对。但由于XX设备无法用户交互,所以只能由程序完成确认实现自动配对——当然,XX设备只针对确定来源的请求(如XX助手)才默认同意并接受配对。
自动配对的实现(需系统权限):
权限声明:
<uses-permission android:name="android.permission.BLUETOOTH" />