Android BluetoothDevice createBond权限错误

Android BluetoothDevice createBond权限错误,android,android-bluetooth,Android,Android Bluetooth,我和他们都有一个项目 <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> 另一方面,如果我打开BT设置并从那里连接设备,一切都会很好连接GATT工作正常,我可以随意读取/写入数据 createBond()有什么不对?调用BluetoothDevice.creat

我和他们都有一个项目

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
另一方面,如果我打开BT设置并从那里连接设备,一切都会很好<代码>连接GATT工作正常,我可以随意读取/写入数据


createBond()
有什么不对?

调用
BluetoothDevice.createBond()
似乎使用
BluetoothDevice.TRANSPORT\u AUTO
来创建绑定。这并不适用于所有Android平台,而且很脆弱。取而代之的是,使用用于扫描设备的特定传输进行呼叫就达到了目的

device.createBond(BluetoothDevice.TRANSPORT_LE)

我现在也有同样的问题。你找到解决办法了吗?看来我们找到了,尽管最后的细节仍在不断刷新。请参阅下面的答案。您是否尝试过多次重试
createBond()
方法以查看它是否成功?你可能会得到一个137的错误,可以像那样规避。
E/bt_btif: bta_gattc_cache_load: can't open GATT cache file /data/misc/bluetooth/gatt_cache_76fe0b7bf8dd for reading, error: No such file or directory
E/bt_att: gatt_disc_cmpl_cback() - Unable to register for service changed indication
device.createBond(BluetoothDevice.TRANSPORT_LE)