我是Android设备编程的新手。我正在制作一个涉及Android(Mini-Xperia pro with Android 2.1)和蓝牙与设备通信的学校项目。 我正试图一步一步地去理解所有的编程内容并尽我所能。
我有一台适用于PC的蓝牙适配器,我正在使用Windows XP,因此我只连接它并且已经安装了。
好吧,我正在研究SDK附带的蓝牙聊天示例,我已经将UUID更改为:
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
使用我的手机,我进入设置并使我的设备与我的Pc配对(它表示配对但没有连接)。
但我不知道我做错了什么因为我在手机上打开蓝牙聊天应用程序,尝试连接到我的电脑,它说“无法连接设备”。
经过多次尝试后,它连接到从PC传输到手机:
甲
AT
连接丢失(这需要不到2秒!!)
任何人都可以帮助我,请告诉我我做错了什么或者问题是什么?
感谢。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
你需要通过Android应用程序连接的蓝牙串口COM端口在PC端运行一些类似超级终端的应用程序。