【问题标题】:Print without print dialog Android没有打印对话框的打印 Android
【发布时间】:2015-06-30 09:17:27
【问题描述】:

刚刚开发的简单安卓应用。 我有通过 api google 在 android 4.4 版中工作的打印功能。

无论如何,我的最终目的是在没有任何 ui 界面的情况下自动打印到默认打印机。打印内容是简单的html。 我需要一些自定义代码来解决这个问题。

亲切的问候 达尼洛

【问题讨论】:

  • 请澄清您的问题并使用您已经编写的代码编辑您的问题
  • 我的问题是:我可以在没有打印对话框的情况下在连接到我的设备的默认打印机上打印页面 html.. 目前我没有尝试任何可以允许隐藏打印对话框的库.. ..有一个 APF 框架对我来说很昂贵..apf.isb-vietnam.com
  • 请发布您的代码
  • 你在这方面有所收获吗?我认为这将是使用嵌入式 Android 的仪器的一个常见功能,就像我的产品一样
  • 这个答案可能对你有帮助:stackoverflow.com/questions/24026804/…

标签: android printing


【解决方案1】:

我认为,我们无法隐藏打印对话框,因为, PrintManager 类是最终的。 所以,我们不能覆盖它。

当您从活动中调用此 print(String, PrintDocumentAdapter, PrintAttributes) 时,它会启动打印作业,同时会调出系统打印 UI。

如果您想要打印文档的示例,可以参考Android-wifi-print - GitHub。这只是一个使用 wifi 打印机打印文档的原型。

【讨论】:

    【解决方案2】:

    幸运的是,我能够覆盖 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 问题,那么我们可能会解决这个隐藏打印对话框的常见问题。

    【讨论】:

    • 打印管理器覆盖代码看起来会很有趣,但最终云打印插件/apk 需要该意图。如果您最终想使用默认的 android 系统进行打印,我不知道有没有办法绕过它。
    • 我对“幸运的是我能够覆盖 PrintManager 的打印方法”这句话很感兴趣。您不能“扩展”最终类,并且没有其他方法可以“覆盖”方法。也许您将“PrintManager”包装在一个类中?
    猜你喜欢
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 2014-12-09
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    相关资源
    最近更新 更多