如何连接配对的BLE设备

时间:2018-02-14 19:00:01

标签: android bluetooth bluetooth-lowenergy

我目前有一台设备与我的智能手机配对(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超出范围?

1 个答案:

答案 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);