【问题标题】:Trouble coneccting Pc with Android 2.1 mobile for the Bluetooth Chat example蓝牙聊天示例无法将 PC 与 Android 2.1 移动设备连接起来
【发布时间】:2011-04-10 22:36:58
【问题描述】:

我是 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 秒!!)

谁能帮助我,请告诉我我做错了什么或有什么问题??

谢谢。

【问题讨论】:

    标签: android bluetooth uuid


    【解决方案1】:

    您需要将 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;
        }
    

    【讨论】:

    • 你好。我有点困惑。我有一个蓝牙适配器,它非常小而且非常便宜,但我读到我需要一个已经有串行通信的蓝牙,所以我不知道我是否必须购买它或者是否有一个使 USB 适配器像串口一样工作的第二种方法可能使用 max232 或类似的东西导致我最终应用程序所需的蓝牙(bluesmirf 连接到墨西哥这里的 android 卡上大约是 990 比索(如 80 美元)= S
    【解决方案2】:

    您需要通过 android 应用程序所连接的蓝牙串行 COM 端口在 PC 端运行一些应用程序,例如超级终端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      相关资源
      最近更新 更多