我目前有一台设备与我的智能手机配对(Micro:Bit BBC)。我的应用程序必须连接到它,重新连接以防丢失连接并从该设备提供的一个特征中读取。
我是Android上的新手。我已经阅读了此链接Android BLE SDK,但我无法理解所有内容,并且该代码中有一些部分缺失。
我知道如何寻找配对设备,但在此之后我不知道该怎么做:
bleAdapter = ((BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE)).getAdapter();
Set<BluetoothDevice> pairedDevices = bleAdapter.getBondedDevices();
这向我展示了粘合的独特设备(BBC micro:bit [zogav])。如何连接到该设备,保持连接活动并重新连接以防micro:bit超出范围?
答案 0 :(得分:2)
在获得Paired Devices
的设置后,找到您的设备并与之建立连接:
BluetoothAdapter bleAdapter = ((BluetoothManager) getSystemService(BLUETOOTH_SERVICE)).getAdapter();
Set<BluetoothDevice> pairedDevices = bleAdapter.getBondedDevices();
for(BluetoothDevice d: pairedDevices){
if(d.getAddress().equals("Your Device MAC")){
d.connectGatt(MainActivity.this, true, new BluetoothGattCallback() {
@Override
public void onConnectionStateChange(BluetoothGatt
gatt, int status, int newState) {
super.onConnectionStateChange(gatt, status, newState);
switch (newState) {
case BluetoothProfile.STATE_CONNECTED:
Log.i("GattCallback", "connected");
gatt.getServices();
break;
case BluetoothProfile.STATE_DISCONNECTED:
Log.i("GattCallback", "Disconnected");
break;
}
}
});
}
}
在Auto Connect
中实现Auto Connect
设置true
变量device.connectGatt(context, Auto Connect, BluetoothGattCallback);
。