通过蓝牙进行通信时,如何从配对设备组中选择要配对的bt模块?

时间:2017-07-18 13:27:56

标签: android bluetooth

我在上述问题上挣扎了一段时间。我想获得配对的蓝牙设备列表(这似乎现在已经很好了)并且知道所需的蓝牙模块的MAC地址是什么,只需选择此MAC地址并在以后使用它一个参数。我试图从列表中选出30:14:10:17:06:93地址时遇到麻烦。

这是我的代码段:

    Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
    TextView devicesInPairWithPhone = (TextView) findViewById(R.id.devicesInPairWithPhone);
    devicesInPairWithPhone.setText(pairedDevices.toString());

    for (BluetoothDevice device : pairedDevices)  {
        if (device.toString().equals("30:14:10:17:06:93")) {
            mDevice = device;
            textView.setText(device.toString());
        }
        else {
            textView.setText("Selecting the correct bt module was unsuccessful.");
        }
    }

在这种情况下,在textView上(我知道,不是一个直观的名字,对不起)我得到了#34;选择正确的bt模块是不成功的。&#34;一直以来,即永远不会满足if(){}条件。在devicesInPairWithPhone上我得到了公平的设定:[30:14:10:17:06:93,6C:0E:0D:E2:blablabla,...]

有人知道问题可能是什么吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,我的错,我没注意这样一个事实:当循环迭代它最终将打印出来“选择正确的bt模块是不成功的。”对于Set的最后一个元素,这就是我们将在屏幕上看到的内容。