Я использую api android.bluetooth.le для сканирования устройств bluetooth LE вокруг меня

 @Override
            public void onLeScan(final BluetoothDevice device, final int rssi,
                                 byte[] scanRecord) { ... }

И я использую этот метод обратного вызова, чтобы уведомить меня, если будут найдены результаты. Теперь проблема в том, что я не могу найти метод, который даст URL-адрес, который будет передавать маяк.

Примечание: я пытаюсь сделать это с помощью android.bluetooth.le , но если у вас есть что-то еще в уме или какой-либо сторонний API, который может выполнить эту работу, я буду счастлив послушать ты.

Заранее спасибо.

3
Yousha bin Arif 19 Май 2018 в 15:03

1 ответ

Лучший ответ

Существует множество видов маяков Bluetooth LE, но основные из существующих сегодня, которые передают URL-адрес, - это маяки, отправляющие URL-адрес в формате Eddystone.

Вы можете использовать библиотеку Android Beacon с открытым исходным кодом для сканирования и анализа этого формата. См. Раздел «Работа с URL-адресом Eddystone» здесь

Библиотека выполнит сканирование за вас, но если вы хотите продолжать использовать пакет android.bluetooth.le напрямую, вы можете просто использовать компоненты библиотеки Android Beacon, которые анализируют маяк. См. Документацию по BeaconParser. класс.

О, и эта библиотека с открытым исходным кодом, так что не стесняйтесь копировать и изменять код!

2
davidgyoung 19 Май 2018 в 15:48