У меня есть следующие настройки:
Планшет: Panasonic FZ-A2
Подключено к обычному порту USB 2.0: Термопринтер
Планшет также имеет дополнительный разъем USB типа C.
Когда принтер подключен, печать работает, мы можем отправлять данные на принтер и получать данные с него.
После нажатия кнопки питания на устройстве экран выключается, и при повторном нажатии устройство начинает работать, но отправка данных на принтер больше не работает .
Единственный способ возобновить работу принтера - отключить / снова подключить USB-кабель или кабель питания или перезагрузить планшет.
Список устройств, открытие UsbDeviceConnection, утверждение интерфейса и операция записи выполняются каждый раз отдельно, и повторного использования нет.
Я уверен, что мы используем правильные конечные точки с правильным направлением данных.
Кроме того, когда включена отладка USB и кабель, подключенный к другому USB-порту типа C, подключенному к планшету, проблема не проявляется, вероятно, потому, что отладочное соединение ADB на USB-порту C продолжает пробуждать обычный USB-порт, где принтер подключен как побочный эффект.
Также, когда планшет работает от батареи, проблема вообще не проявляется.
Редактировать 1:
После реализации фоновой службы, которая получает частичную блокировку пробуждения от Power Manager, проблема больше не воспроизводится.
Это предотвращает переход устройства в спящий режим даже при нажатии кнопки питания.
Тем не менее основная проблема все еще присутствует.
Если приложение убито, проблему можно воспроизвести.