嗯,我已完成所有设置以创建与另一个蓝牙设备的连接。 我有一个 ListView,它显示与我的蓝牙设备配对的设备,当我单击 listView 中所需的设备时,它应该连接到它,但不知何故,连接没有建立。 这是我的配对设备列表的示例:
public void getPairedDevices(){
pairedDevices = myBluetoothAdapter.getBondedDevices();
pairedDevices_ArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);
if(pairedDevices.size()>0){
for(BluetoothDevice device : pairedDevices){
pairedDevices_ArrayAdapter.add(device.getName()+"\n"+device.getAddress());
}
}
pairedDevices_ListView.setAdapter(pairedDevices_ArrayAdapter);
pairedDevices_ListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String i = ((TextView) view).getText().toString();
String address = i.substring(i.length() - 17);
deviceToConnectTo = myBluetoothAdapter.getRemoteDevice(address);
connectToDevice(deviceToConnectTo);
}
});
}
这是我的
connectToDevice() void
:
public void connectToDevice(BluetoothDevice device){
try {
mmSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
myBluetoothAdapter.cancelDiscovery();
} catch (IOException e){}
try{
mmSocket.connect();
} catch (IOException e){
showMsg("Error Connecting to device");
try{
mmSocket.close();
} catch (IOException exception){}
}
}
showMsg
基本上是一个 Toast.makeText
,它不断地给我“
连接设备时出错
toast 消息,这意味着无法连接。
有人可以告诉我为什么吗?
我正在使用 API 级别 10 并尝试连接到 HC-05 蓝牙模块。
好的,看来我成功解决了无法连接HC-05蓝牙模块的问题。问题是我使用的 UUID。 我将 UUID 更改为:
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
用于HC-05等蓝牙串口板。