Android 4.3以上开始支持 BLE扫描蓝牙4.0。
Android5.0开始废弃之前的扫描接口,省略了callback:
BluetoothAdapter.startLeScan()
提倡使用新的接口,省略了callback:
BluetoothLeScanner mBLeScanner = mBluetoothAdapter.getBluetoothLeScanner();
mBLeScanner.startScan();
Android6.0开始不仅需要蓝牙权限,还需要定位权限。
Android7.0以上支持蓝牙4.2,Android8.0以上支持蓝牙5.0,蓝牙版本的提升带来的可连接设备的增多。
但是蓝牙8.0以上的话可以申请 Companion Device Manager API,这样就无需声明位置权限。
详情请见https://developer.android.google.cn/guide/topics/connectivity/companion-device-pairing
我自己连接蓝牙耳机的时候会有显示是否与此设备配对,这样可以在不用申请定位权限的情况下连接低功耗蓝牙设备。