Как узнать, что мы отказываемся от печати

В настоящее время я разрабатываю службу печати для конкретного принтера.

Когда я нахожусь в предварительном просмотре документа, я могу выбрать принтер, поэтому в этом случае я отключаюсь от предварительно выбранного принтера (я использую здесь устройства BLE) и подключаюсь к новому.

Но я также могу нажать кнопку «Назад», чтобы отказаться от печати. И здесь возникает проблема, потому что, согласно моим исследованиям, у меня нет четкой информации об этом действии. Хуже того, в этом случае вызываются одни и те же обратные вызовы, и если я нажимаю на печать!?!
Я хотел систематически отключаться от принтера, когда я выхожу из режима предварительного просмотра, а затем снова подключаться, когда вызывается onPrintJobQueued() для создания задания, но, к сожалению, у меня нет информации о выбранном принтере. Поэтому я действительно не знаю, как это сделать, но мне нужно знать, подтверждаю ли я печать, чтобы в конечном итоге отключиться от текущего принтера, чтобы освободить его.

Любая идея?

0
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что если соединение занимает много времени, ваша служба PrintService должна поддерживать соединение после того, как принтер не отслеживается onStopPrinterStateTracking, в случае, если пользователь просто переключает принтеры. Затем он должен освободить его в 'onDestroy' после проверки отсутствия очереди заданий для этого принтера, к тому времени вы должны уже получить onPrintJobQueued() (если есть) и будете знать, следует ли вам сохранить соединение или отказаться от него.

Да, вы правы, я не помню, какую ошибку совершил, когда впервые попытался отключиться от onDestroy, но это работает. Спасибо.

fralbo 23.05.2018 10:26

Другие вопросы по теме