Работал ли со смежными устройствами

Ответ

Да, работал с различными смежными устройствами через Bluetooth, NFC и Wi-Fi Direct. Например, подключал смартфоны к фитнес-трекерам через Bluetooth Low Energy (BLE), передавал данные между устройствами через NFC или реализовывал обмен файлами через Wi-Fi Direct.

Пример с BLE:

val gattCallback = object : BluetoothGattCallback() {
    override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int) {
        if (newState == BluetoothProfile.STATE_CONNECTED) {
            gatt.discoverServices()
        }
    }
    override fun onServicesDiscovered(gatt: BluetoothGatt, status: Int) {
        val service = gatt.getService(UUID.fromString("..."))
        val characteristic = service.getCharacteristic(UUID.fromString("..."))
        gatt.readCharacteristic(characteristic)
    }
}

Также есть опыт работы с USB-устройствами через UsbManager и кастомными протоколами.

Ответ 18+ 🔞

Э, слушай, а я с этими штуками работал — там, где они друг с другом по воздуху болтают. Bluetooth, NFC, Wi-Fi Direct — вся эта ебушки-воробушки. Вот, например, телефон к умным часам прикручивал через BLE, это который энергопотребление низкое. Или через NFC два девайса стукаешь — и данные перелетели, магия, блядь. А через Wi-Fi Direct файлы гонял — тоже прикольно, работает.

Вот, смотри, как с BLE обычно возишься (код не трогаю, он святой):

val gattCallback = object : BluetoothGattCallback() {
    override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int) {
        if (newState == BluetoothProfile.STATE_CONNECTED) {
            gatt.discoverServices()
        }
    }
    override fun onServicesDiscovered(gatt: BluetoothGatt, status: Int) {
        val service = gatt.getService(UUID.fromString("..."))
        val characteristic = service.getCharacteristic(UUID.fromString("..."))
        gatt.readCharacteristic(characteristic)
    }
}

А ещё, ёпта, через USB с железом общался — UsbManager в помощь. Там свои протоколы, порой хитрая жопа, но если вникнуть — ничего, живём. В общем, доверия ебать ноль к этим соединениям, но когда работает — красота.