Проблема со связью ESC/POS через BluetoothSocketAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема со связью ESC/POS через BluetoothSocket

Сообщение Anonymous »

Я пытаюсь настроить связь с помощью ESC/POS через Bluetooth. Я правильно подключаю термопринтер Bluetooth, и сокет указывает, что он подключен.
Однако, когда я передаю следующую команду (просто пытаюсь подать), ничего не происходит. Фактически, ни с одной командой, которую я пытаюсь отправить, ничего не происходит.

Код: Выделить всё

    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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»