2015-04-22 3 views
5

Простое приложение для Android только что разработано. У меня есть функция печати, работающая в Android версии 4.4 через api google.Печать без диалогового окна печати Android

В любом случае моя конечная цель - автоматически печатать на принтере по умолчанию без какого-либо интерфейса ui. Печатный контент - простой html. Для решения этой проблемы мне нужен специальный код.

Сердечные приветы Данило

+0

Пожалуйста, уточните причину и исправьте ваш вопрос с кодом, который вы уже указали. – Jean

+1

Мой вопрос: могу ли я распечатать страницу html на моем принтере по умолчанию, подключенном к моему устройству, без диалога печати. попробуйте любую библиотеку, которая может разрешить ho hide print dialog .... есть инфраструктура APF, которая является дорогостоящей для моего использования. http://apf.isb-vietnam.com/ –

+0

спасибо вам в advace! –

ответ

3

Я думаю, мы не можем в состоянии скрыть, что диалог печати, кузен, PrintManager класс является окончательным. Итак, мы не можем переопределить это.

Когда вы вызываете это print (String, PrintDocumentAdapter, PrintAttributes) из действия, он начинает задания печати, и он будет отображать пользовательский интерфейс печати системы.

Если вы хотите найти пример для печати документа, вы можете обратиться к этому Android-wifi-print - GitHub. Это всего лишь прототип для печати документа с использованием wifi-принтера.

0

К счастью, мне удалось переопределить метод печати PrintManager, однако вы не можете продолжить печать или отправить задание на печать без перехода к команде намерения.

PrintJobInfo printJobInfo = bundleResult.getParcelable("android.print.intent.extra.EXTRA_PRINT_JOB"); 
IntentSender printIntent = bundleResult.getParcelable("android.print.intent.extra.EXTRA_PRINT_DIALOG_INTENT"); 

Если у кого-нибудь есть идея или предложение, как бороться с намерением. Я могу опубликовать код о том, как я сделал свой собственный метод печати менеджера, если он был запрошен, но он застрянет на printIntent. Если бы мы могли просто решить printIntent, то у нас могло бы быть решение этой общей проблемы скрыть диалоговое окно печати.

+0

Код переопределения менеджера печати будет интересен, но в конечном итоге плагин облачной печати/apk требует этого намерения. Я не знаю, что есть способ обойти эту часть, если вы в конечном итоге хотите печатать с использованием системы Android по умолчанию. – Chris

+0

Меня интересует утверждение «К счастью, я смог переопределить метод печати PrintManager». Вы не можете «расширить» последний класс, и нет другого способа «переопределить» метод. Возможно, вы завернули «PrintManager» в класс? –

Смежные вопросы