Однако, когда я передаю следующую команду (просто пытаюсь подать), ничего не происходит. Фактически, ни с одной командой, которую я пытаюсь отправить, ничего не происходит.
Код: Выделить всё
private fun getDeviceByAddress(address: String): BluetoothDevice? {
return bluetoothManager.adapter.bondedDevices.find { it.address == address }
}
suspend fun feed(printer: Printer, lines: Int = 1) {
getDeviceByAddress(printer.address)?.let { device ->
device.createRfcommSocketToServiceRecord(SPP_UUID)
.let { socket ->
try {
socket.connect()
socket.outputStream.write(byteArrayOf(0x1B, 0x40))
socket.outputStream.write(byteArrayOf(0x1B, 0x64, lines.toByte()))
socket.outputStream.flush()
} catch (e: Exception) {
e.printStackTrace()
} finally {
withTimeout(100) {
socket.close()
}
}
}
}
}
(Я знаю, что есть SDK для этой конкретной марки, но я пытаюсь это сделать строго через ESC/POS)
Подробнее здесь: https://stackoverflow.com/questions/791 ... oothsocket
Мобильная версия