Все модели смарт-терминалов оборудованы встроенным принтером чеков, который используется для:
В зависимости от того как ваше приложение будет использовать встроенный принтер чеков, оно должно обладать необходимыми разрешениями.
На встроенном принтере можно печатать следующие данные:
getAllowableSymbolsLineLength()
(возвращает количество символов, которые помещаются в одной строке чека) и getAllowablePixelLineLength()
(возвращает доступную для печати ширину бумаги в пикселях).Для печати произвольных данных на чековой ленте, в манифесте приложения необходимо объявить разрешение:
<uses-permission android:name="ru.evotor.permission.receipt.printExtra.SET" />
Чтобы печатать произвольные данные на чековой ленте:
В методе обратного вызова onCreate()
инициализируйте принтер чеков, с помощью метода startInitConnections(final Context appContext)
:
DeviceServiceConnector.startInitConnections(getApplicationContext());
addConnectionWrapper(ConnectionWrapper connectionWrapper)
, чтобы получить событие об успешном подключении.getPrinterService()
.Напечатайте необходимые данные с помощью метода printDocument(int deviceId, PrinterDocument printerDocument)
.
ru.evotor.devices.commons.Constants.DEFAULT_DEVICE_INDEX
.DeviceServiceOperationOnMainThreadException
, так как работа с удалённой службой может занимать длительное время.Посмотрите пример операции для печати произвольных данных.