Android未发现Bluez服务

Android未发现Bluez服务,android,bluetooth,bluez,Android,Bluetooth,Bluez,我不知道会发生什么。我在笔记本电脑上使用BlueZ开发了一个蓝牙应用程序。我已经使用Bluez创建了一个连接到该服务器的客户端,但我无法使用Android实现这一点 手机似乎找不到设备/端口/服务: 05-14 18:54:40.395: D/BluetoothService(134): Cleaning up failed UUID channel lookup: 00:02:72:00:D4:29 00000000-0000-0000-0000-000033320000 05-14

我不知道会发生什么。我在笔记本电脑上使用BlueZ开发了一个蓝牙应用程序。我已经使用Bluez创建了一个连接到该服务器的客户端,但我无法使用Android实现这一点

手机似乎找不到设备/端口/服务:

05-14 18:54:40.395: D/BluetoothService(134): Cleaning up failed UUID channel lookup:   00:02:72:00:D4:29 00000000-0000-0000-0000-000033320000  
05-14 18:54:40.395: W/System.err(4895): java.io.IOException: Service discovery failed
查找Bluez server和Android的以下部分代码:

布鲁兹

运行sdptool检查服务是否注册良好,我发现UUID与预期的不同。我已经在我的android应用程序上尝试了几个

sdptool browse的输出-本地树 安卓 结果是,我在调用connect时遇到异常:

任何帮助都是非常受欢迎的。我认为问题在于UUID没有正确定义,但不知道

TA.

可能的副本
sdp_session_t *register_service() {
     uint32_t service_uuid_int[] = { 0, 0, 0, 0x3233 };
     .... code taken from http://people.csail.mit.edu/albert/bluez-intro/x604.html
}

int main() 
{
    sdp_session_t *session = register_service();

    struct sockaddr_rc loc_addr = { 0 }, rem_addr = { 0 };
    char buf[1024] = { 0 };
    int s, client, bytes_read;
    socklen_t opt = sizeof(rem_addr);

    char src[18] = "XX:XX:XX:XX:XX:XX";

    // allocate socket
    s = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);

    // bind socket to port 1 of the first available 
    // local bluetooth adapter
    loc_addr.rc_family = AF_BLUETOOTH;
    str2ba(src, &loc_addr.rc_bdaddr);
    //loc_addr.rc_bdaddr = *BDADDR_ANY;
    loc_addr.rc_channel = (uint8_t) 11;
    bind(s, (struct sockaddr *)&loc_addr, sizeof(loc_addr));

    // put socket into listening mode
    listen(s, 1);

    // accept one connection
    client = accept(s, (struct sockaddr *)&rem_addr, &opt);
    ba2str( &rem_addr.rc_bdaddr, buf );
    fprintf(stderr, "accepted connection from %s\n", buf);
    memset(buf, 0, sizeof(buf));

    // read data from the client
    bytes_read = read(client, buf, sizeof(buf));
    if( bytes_read > 0 ) {
        printf("received [%s]\n", buf);
    }

    // close connection
    close(client);
    close(s);
    return 0;
}
UUID128 : 0x00000000-0000-0000-0000-00003332-0000
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    BluetoothAdapter mBluetoothAdapter =
            BluetoothAdapter.getDefaultAdapter();
    if (mBluetoothAdapter == null) {
        // Device does not support Bluetooth
        Log.d(TAG, "No bluetooth");
    }

    Log.d(TAG, "Generated bluetooth adapter");

    MY_UUID = UUID.fromString("00000000-0000-0000-0000-000033320000");

    // Get a BluetoothSocket to connect with the given BluetoothDevice
    try {
            device = mBluetoothAdapter.getRemoteDevice(remote_addr);
        socket =
                device.createInsecureRfcommSocketToServiceRecord(MY_UUID);
        mBluetoothAdapter.cancelDiscovery();            
        socket.connect();

                OutputStream tmpOut = null;
                    tmpOut = socket.getOutputStream();

                    String str = "Helloo";
                tmpOut.write(str.getBytes());

                    socket.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
05-14 18:54:40.395: D/BluetoothService(134): Cleaning up failed UUID channel lookup: XX:XX:XX:XX:XX:XX 00000000-0000-0000-0000-000033320000
05-14 18:54:40.395: W/System.err(4895): java.io.IOException: Service discovery failed