android - 为蓝牙聊天示例将 PC 与 Android 2.1 手机连接时出现问题

标签 android bluetooth uuid

我是 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/

相关文章:

android - 如何使用 OpenCV 4 Android 在普通(例如白色)背景上检测彩色对象的位置?

android - 如何动态更改卡内的文本大小?

javascript - iPad 蓝牙键盘使用 onKeyUp 为任何键返回键码 0

java - 当我使用 onNewIntent 时发生 java.lang.NullPointerException 的错误

ruby-on-rails - 使用 uuid-ossp 在 Rails 中将模型 id 更改为 uuid

c# - 如何使用C#生成UUID版本4

java - 在 Java 项目中使用 android.jar - RuntimeException Stub?

android - 关于 Android 图像和 Assets 大小

ios - 将我的 iOS 更新到 15.1 后,我无法连接到蓝牙

java - 删除随机生成的 UUID 中的 "-"有多安全?