一、需求背景
客户在使用我公司的Flutter插件时,要求有一个蓝牙与设备重连的功能,我用公司提供的Android SDK只能实现超出和进入蓝牙范围进行重连,但是无法在蓝牙打开进行重连,这不得不让我使用Android手写一个广播监听。
二、实现步骤
1. 添加权限
2. 创建一个类继承 BroadcastReceiver
3. 动态注册和注销广播
4. 监听蓝牙状态
三、代码分享
1. 添加权限
在 AndroidManifest.xml 中添加蓝牙权限
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
2. 创建一个类继承 BroadcastReceiver
public class BLEStateReceiver extends BroadcastReceiver {
private static final String BLE_STATE_OFF = "android.bluetooth.BluetoothAdapter.STATE_OFF";
private static final String BLE_STATE_ON = "android.bluetooth.BluetoothAdapter.STATE_ON";
private static BLEStateReceiver receiver = new BLEStateReceiver();
/**
* 注册
*
* @param context
*/
public