我在上述问题上挣扎了一段时间。我想获得配对的蓝牙设备列表(这似乎现在已经很好了)并且知道所需的蓝牙模块的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,...]
有人知道问题可能是什么吗?提前谢谢!
答案 0 :(得分:0)
好吧,我的错,我没注意这样一个事实:当循环迭代它最终将打印出来“选择正确的bt模块是不成功的。”对于Set的最后一个元素,这就是我们将在屏幕上看到的内容。