В обход диалогового окна или тихой печати
Как обойти диалоговое окно принтера в приложении для Android? Я уже пробовал API PRINTER с Android, но он запрашивает у меня окно предварительного просмотра. Я проверил многие вещи, а затем обнаружил, что это возможно с помощью облачной печати Google, но не уверен, что кто-либо подтвердит и направит то же самое. Буду очень благодарен заранее
1 ответ
Насколько я знаю, документация на https://developers.google.com/cloud-print/docs/android объясняет два возможных варианта интеграции функциональности GCP в ваше приложение:
- Для устройств 4.3 и ниже он показывает, как отобразить веб-элемент GCP (описано в разделе Веб-элемент GCP).
- Для устройств 4.4 и выше, так как API Android.Print включен, они перенаправляют вас к документации Android о том, как реализовать функции печати в вашем приложении.
Использование API Android.Print всегда приводит к вызову диалогового окна печати ОС, где вам будет предложено выбрать принтер из списка и параметры печати. В этом случае список принтеров предоставляется различными службами печати, которые пользователь установил на своем устройстве, и Google Cloud Print является одним из них.
Сказав это, есть еще способ добиться того, что вы называете тихой печатью. Вам может потребоваться реализовать вызовы API Google Cloud Print в вашем собственном приложении. Я сделал это как часть Java-приложения, так что в Android он не будет сильно отличаться. Для этого требуется 2 вещи:
- Реализуйте OAuth2, чтобы получить токен авторизации пользователя Google. Вызовы API должны содержать действительный HTTP-заголовок авторизации. Кроме того, это необходимо, потому что вызовы API будут отвечать на основании принтеров, к которым у пользователя есть доступ.
- Реализуйте вызовы API, которые необходимы для выбора принтера (/ search) и отправки задания (/ submit). Вам также может понадобиться проверить возможности и состояние принтера (/ printer).
Вы найдете всю необходимую информацию на https://developers.google.com/cloud-print/docs/appInterfaces
Дополнительную информацию об OAuth 2.0 для доступа к API Google можно найти по https://developers.google.com/identity/protocols/OAuth2