Bluetooth не подключается - PullRequest
       1

Bluetooth не подключается

0 голосов
/ 26 апреля 2018

У меня есть два приложения: одно выступает в качестве Сервера на устройстве с Android 7.1.2 (камера), а другое - в качестве Клиента в Android 7.0. (Samsung Galaxy S7). Я выполнил сопряжение, чтобы они оба появлялись в другом методе обнаружения.

Клиент делает:

...
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mmSocket = device.createInsecureRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
...
mBluetoothAdapter.cancelDiscovery();

try {
    mmSocket.connect();
} catch (IOException connectException) {
    connectException.printStackTrace();
}
...

И Сервер делает:

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mmServerSocket = mBluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord("name",UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
...

BluetoothSocket socket = null;
boolean connected = false;
// Keep listening until exception occurs or a socket is returned.
while (true) {
    if(!connected) {
        try {
            MyLog.d(TAG, "accepting");
            socket = mmServerSocket.accept();
        } catch (IOException e) {
            MyLog.e(TAG, "Socket's accept() method failed");
            break;
        }
    }
...
}

Все отлично работает, когда я тестирую свои приложения на двух обычных телефонах Android, и когда я использую свой сервер в телефоне и мою камеру в качестве клиента.

Но если я попытаюсь запустить сервер в камере и клиент в телефоне, то камера застрянет в

socket = mmServerSocket.accept();

и клиент возвращает IOException в

mmSocket.connect();

java.io.IOException: чтение не удалось, сокет может быть закрыт или тайм-аут, чтение ret: -1

Я полагаю, что это связано с тем, что камера Bluetooth не принимает подключения, но я не очень разбираюсь в этом, и все отлично работает, когда роли переключаются и камера запускает клиентское приложение.

Есть идеи?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...