所以我有这种情况。
如果我扫描新的le设备并连接到找到的任何设备,我就能成功连接,但如果我将该设备地址存储在内存中,关闭应用程序并再次打开,然后尝试在我的onconnectionstatechange中直接连接我将newstate设置为bluetoothprofile.state_大多数时间断开连接,但并不总是如此。
这似乎发生在GalaxyS7上,但在我的另一个廉价平板电脑上没有。
我的连接逻辑如下:
BluetoothDevice bluetoothDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(
device.getAddress());
Log.i(TAG, "Found device: " + bluetoothDevice.getAddress()
+ " (" + bluetoothDevice.getName() + ") Type: " + bluetoothDevice.getType());
bluetoothGatt = bluetoothDevice.connectGatt(context, false, new BluetoothGattCallback() { <..> }, BluetoothDevice.TRANSPORT_LE);
我的onconnectionstatechange方法如下:
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
Log.i(TAG, "New connection state: " + newState);
if (newState