我是 Android 设备编程新手。我正在制作一个涉及 Android(带有 Android 2.1 的 Mini-Xperia pro)和与设备的蓝牙通信的学校项目。 我正在努力逐步了解所有编程知识并尽我所能学习。
我有一个适用于 PC 的蓝牙适配器,我正在使用 Windows XP,所以我只连接它并且它已经安装好了。
嗯,我正在研究 SDK 附带的蓝牙聊天示例,我已经将 UUID 更改为:
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
我用我的手机进入设置并使我的设备与我的电脑配对(它说配对但没有连接)。
但我不知道自己做错了什么,因为我在手机上打开蓝牙聊天应用程序,尝试连接到我的电脑,但它显示“无法连接设备”。
经过多次尝试,它连接到从电脑传输到手机:
一个
在
然后连接丢失(这需要不到 2 秒!!)
谁能帮我,请告诉我我做错了什么或出了什么问题??
谢谢。
最佳答案
您需要将 ConnectThread 代码更改为以下内容:注意创建套接字的更改代码。
private class ConnectThread extends Thread {
private final BluetoothSocket mmSocket;
private final BluetoothDevice mmDevice;
public ConnectThread(BluetoothDevice device) {
mmDevice = device;
BluetoothSocket tmp = null;
Method m = null;
try {
m = device.getClass().getMethod("createRfcommSocket",
new Class[] {int.class});
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
tmp = (BluetoothSocket) m.invoke(device, 1);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mmSocket = tmp;
}
关于android - 为蓝牙聊天示例将 PC 与 Android 2.1 手机连接时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615186/