BT
一.业务
- 蓝牙已配对页面(BluetoothBondedDevicesPreferenceController)
- 与新设备配对,显示可配对设备列表(BluetoothScanningDevicesGroupPreferenceController)
二.Settinglib中蓝牙的设计
- LocalBluetoothManager --蓝牙相关逻辑总管
- LocalBluetoothAdapter 管理BluetoothAdapter,各种对app相关接口
- CachedBluetoothDeviceManager 管理远程设备
- LocalBluetoothProfileManager 管理各种profile eg.A2DP、HFP、HeadSet…
- BluetoothEventManager 管理蓝牙相关广播,做出处理或者分发
三.使用Settinglib实现功能
- 权限
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
- 开始扫描周围蓝牙设备
mBluetoothManager.getEventManager().registerCallback(this);
mBluetoothAdapter.startDiscovery();
mBluetoothAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
- 停止扫描
mBluetoothManager.getEventManager().unregisterCallback(this);
if (mBluetoothAdapter.isDiscovering()) {
mBluetoothAdapter.cancelDiscovery();
}
mAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);