Отправка данных Bluetooth между Android и Hololens

Я создал приложение для Android и Microsoft Hololens, где можно отправлять некоторые GPS-данные с помощью Bluetooth с Android-телефона на Hololens (с Bluetooth LE Advertiser), и это работает нормально. Но когда я пытаюсь отправить другие данные из Hololens на Android, у меня возникает проблема, что Android-телефон не может обнаружить Hololens, хотя эти устройства сопряжены. Можно ли вообще отправлять данные из Хололенса по блютусу, или у меня только что-то не так в коде? Поддерживает ли Bluetooth LE Advertising двустороннюю передачу данных?


person V. Vais    schedule 21.03.2017    source источник
comment
Я также ищу аналогичный вариант использования. Я хочу подключить свое устройство Android к hololens и выполнить одностороннюю передачу с устройства Android на hololens. Можете ли вы предложить, как код слушателя должен быть на стороне hololens, чтобы получить данные.   -  person Venkatesh    schedule 23.02.2018
comment
@Venkatesh Удалось ли вам соединить Bluetooth с голографическим объективом и Android? Не могли бы вы поделиться на github?   -  person TheoretiCAL    schedule 24.05.2019


Ответы (1)


Я предполагаю, что у вас есть поток BluetoothConnected в вашем приложении для Android с InputStream (у меня это mmInStream). Попробуйте использовать это как функцию запуска в потоке:

public void run() {

        System.out.println("BT THREAD RUNNING");

        mmBuffer = new byte[1024];
        int numBytes; // bytes returned from read()
        InputStreamReader mmInStreamReader = new InputStreamReader(mmInStream);
        BufferedReader mmReader = new BufferedReader(mmInStreamReader);

        // Keep listening to the InputStream until an exception occurs.

        while (true) {
            try {
                // Read from the InputStream.

                Thread.sleep(100);
                String s = mmReader.readLine();
                Thread.sleep(100);
                //Static class that handles the response
                BluetoothCommunications.responseHandler(s);



            } catch (IOException e) {
                System.out.println("Input stream was disconnected" + e);
                main.disconnected();
                break;
            } catch (Exception e) {
               System.out.println(e.getMessage());
            }
        }
    }
person Kafros    schedule 21.03.2017