Привязка сокета Android Bluetooth l2cap ()

Версия Android: 2.3.7

Версия ядра: 2.6.35-14-CyanogenMod-Arco-Kalim arco@tuxbox #1

Версия мода: CyanogenMod-7.1.0.1-клик

Устройство полностью рутировано.

Я добавил кусок кода в свой проект

который взят из Bluez Utils в hidd.c.

Код следующий:

if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
    close(sk);
    return -1;
}

bind() продолжает возвращаться -1.

Я добавил строку (DisablePlugins = input) в конфигурацию Bluetooth на своем Android-устройстве.

/system/etc/bluetooth/main.conf

У меня есть следующая информация: sk:37

(struct sockaddr *) &addr=0x44597e90

sizeof(addr)=12

errno:13

Причина: Отказано в доступе.

Кто-нибудь может помочь? Если вам нужно узнать более подробно, не стесняйтесь, дайте мне знать.


person Sam    schedule 16.04.2012    source источник
comment
кто-нибудь может помочь, хотя бы просто попробовать.   -  person Sam    schedule 17.04.2012


Ответы (1)


sdp может быть создан исходным кодом blueZ.

Поэтому вы можете создать свой собственный sdptool, а затем воспользоваться этим для привязки сокета. Конечно, вы должны chmod перед тем, как использовать его, чтобы получить право собственности на него.

Этот подход работает для меня, и я надеюсь, что этот подход будет полезен для вас.

person Sam    schedule 23.04.2012