蓝牙开发这部分主要以 APP 端调用功能接口为开始,到 Framework 端的调用流程,最后到调用状态机结束,不涉及蓝牙协议栈的开发分析。
一、BluetoothAdapter
1、APP获取适配器
蓝牙权限
<mainifest>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
</mainifest>
获取蓝牙适配器
所有的蓝牙 Activity 都是需要 BluetoothAdapter 的。获取 BluetoothAdapter 调用BluetoothAdapter 的静态方法 getDefaultAdapter() 方法。会返回一个表示设备自身的蓝牙适配器(蓝牙无线装置)的 BluetoothAdapter。如果返回 null 则说明该设备不支持蓝牙。
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();