无法通过蓝牙UUID连接到android设备

无法通过蓝牙UUID连接到android设备,android,bluetooth,Android,Bluetooth,你好,我正在尝试创建蓝牙应用程序,但无法连接到其他Android设备。似乎正在发生的问题是传出连接中的createrFComsockettoServiceRecord(UUID)——我认为UUID对这两个设备都不正确。文件说: 如果您正在连接到Android对等机,请生成您自己的唯一UUID 我的问题是-如果其他android设备没有安装我的应用程序,我如何使用适当的UUID连接到它?我尝试过简单地使用通用的UUID00001101-0000-1000-8000-00805F9B34FB,但这似

你好,我正在尝试创建蓝牙应用程序,但无法连接到其他Android设备。似乎正在发生的问题是传出连接中的
createrFComsockettoServiceRecord(UUID)
——我认为
UUID对这两个设备都不正确。文件说:

如果您正在连接到Android对等机,请生成您自己的唯一UUID

我的问题是-如果其他android设备没有安装我的应用程序,我如何使用适当的
UUID
连接到它?我尝试过简单地使用通用的
UUID
00001101-0000-1000-8000-00805F9B34FB
,但这似乎无法解决问题

以下是代码示例的一部分:

private static final UUID MY_UUID_SECURE = 
    UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

private class ConnectThread extends Thread {
    BluetoothDevice mdevice;
    BluetoothSocket mclientSocket;

    //private String mSocketType;
    private Handler handler;
    private ProgressDialog dialog;

    public ConnectThread(BluetoothDevice device) {
        mdevice = device;
        BluetoothSocket temp = null;

        try {
            System.out.println("making connection to remote device");
            temp = mdevice.createRfcommSocketToServiceRecord(MY_UUID_SECURE);

        } catch (IOException e) {
            e.printStackTrace();
        }

        Log.i(TAG, "Bluetooth Socket" + temp.toString() + "obtained");
        mclientSocket = temp;
    }

    public synchronized void run() {
        try {
            Log.i(TAG, "starting to connect");
            mclientSocket.connect();
        } catch (IOException e) {
            Log.e(TAG, "connection Failed");

            try {
                mclientSocket.close();
            } catch (IOException e2) {
                ; // Do nothing.
            }
        }
    }

    //public void cancel() {
        //try {
            // mclientSocket.close();
        //} catch (IOException e) {
            //Log.e(TAG, "close() of connect " + mSocketType + " socket failed", e);
        //}
    //}
注意:我还没有实现Bluetooth服务器套接字,但是我正在尝试了解如何连接到另一个没有安装我的应用程序的Android设备。一如既往地感谢你的帮助。谢谢。

发件人:

为了在两台设备上的应用程序之间创建连接,必须实现服务器端和客户端机制,因为一台设备必须打开服务器套接字,另一台设备必须启动连接(使用服务器设备的MAC地址启动连接)。当服务器和客户端在同一RFCOMM通道上都有一个已连接的BluetoothSocket时,它们被视为彼此连接。此时,每个设备都可以获得输入和输出流,并且可以开始数据传输,这将在关于管理连接的一节中讨论。本节介绍如何启动两个设备之间的连接


服务器设备和客户端设备各自以不同的方式获得所需的BluetoothSocket。当传入连接被接受时,服务器将接收它。当客户端打开到服务器的RFCOMM通道时,它将收到该信息。

如何连接通用UUID?你能发布一个代码示例吗?@Dyonisos,我已经添加了代码示例和我使用的UUID。也许你尝试使用:
http://www.uuidgenerator.com
不要使用通用的。@Dyonisos,好的,我会试试,但是如果其他android设备没有安装我的应用程序,它怎么知道uuid呢。我猜并不是所有的android设备都支持SDP协议,可能还包括设备am测试。为了建立连接,其中一个android设备必须运行一个提供服务的Blootth服务器侦听器。然后,另一个设备可以使用其UUID和服务名称连接到此服务器侦听器。