这几天在开发与蓝牙4.0Ble的通讯,因需求要求android必须能过自动与蓝牙配对。于是就开始上网找资料,查出来最多的就是说是用 ClsUtils 这个类,说利用反射调用封起来的方法,我直接copy 拿来使用,但是不管用。发现setPin 与 cancelPairingUserInput 一起调用就会失败,ok! 废话少说,直接进入主题:
IntentFilter filter = new IntentFilter("android.bluetooth.adapter.action.STATE_CHANGED");
filter.addAction("android.bluetooth.device.action.PAIRING_REQUEST");
filter.setPriority(Integer.MAX_VALUE);
context.registerReceiver(blueBroadcastReceivetr, filter);
重点是android.bluetooth.device.action.PAIRING_REQUEST 接收这个广播 并且设置优先级为最大
定义广播接收者 部分代码
else if (intent.getAction().equals("android.bluetooth.device.action.PAIRING_REQUEST")) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
i

本文介绍了如何在Android应用中实现在蓝牙4.0 (BLE) 设备上的自动配对功能。开发者在尝试使用ClsUtils类通过反射调用方法未果后,发现关键在于监听PAIRING_REQUEST广播并设置最高优先级。通过创建广播接收器来处理蓝牙配对请求,从而实现自动配对。
最低0.47元/天 解锁文章
6355





