Реализация собственного профиля Bluetooth для Android - PullRequest
0 голосов
/ 05 октября 2011

Я пытаюсь реализовать профиль громкой связи Bluetooth для Android (HF сторона).Я успешно подключился через rfcomm, и это позволяет мне отправлять / получать AT-команды в / из AG.Но как насчет голоса?В документации я прочитал о синхронном соединении и попытался принять соединение от сокета SCO:

int sock = socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO)

Но ничего не происходит.

Это правильный тип сокета или мне нужно что-то другоетогда ШОС?

1 Ответ

0 голосов
/ 03 июля 2012

Вы можете черпать вдохновение из класса ScoSocket.java, расположенного в frameworks/base/core/java/android/bluetooth. Вы увидите, что он вызывает собственные функции, а не socket(AF_BLUETOOTH...). Поскольку оно используется приложением «Телефон», вы можете положиться на него.

/** Connect this SCO socket to the given BT address.
 *  Does not block.
 */
public synchronized boolean connect(String address, String name) {
    if (DBG) log("connect() " + this);
    if (mState != STATE_READY) {
        if (DBG) log("connect(): Bad state");
        return false;
    }
    acquireWakeLock();
    if (connectNative(address, name)) {
        mState = STATE_CONNECTING;
        return true;
    } else {
        mState = STATE_CLOSED;
        releaseWakeLockNow();
        return false;
    }
}
private native boolean connectNative(String address, String name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...