当 advancedPrintOptionsActivity 进行更改时强制 PrintDocumentAdapter.onLayout() 调用

Force PrintDocumentAdapter.onLayout() call when advancedPrintOptionsActivity made changes

提问人:Gábor 提问时间:11/10/2023 最后编辑:Gábor 更新时间:11/10/2023 访问量:34

问:

在我看来,这是 Android 打印子系统中的一个错误,但我想知道是否有人有解决方法。

假设我们有一个安装,它在其资源文件中通告 。在打印操作期间,当用户从 UI 中选择“更多选项”项时,将调用此活动。完成后,Activity 会根据原始 Intent 适当地创建一个新选项,将自己的高级选项添加到组合中,并将其设置为自己的结果。PrintServiceadvancedPrintOptionsActivityPrintJobInfoEXTRA_PRINT_JOB_INFO

由于高级选项活动中的新设置可能会(并且可能会)影响文档的布局方式,因此系统现在应该为新的 PDF 调用 of,就像在自己的 UI 中更改属性时一样。但这不会发生:要么是因为它被简单地省略了,要么是因为它没有看到属性的任何变化,并且觉得没有必要进行调用。onLayout()PrintDocumentAdapter

在这种情况下,我们如何强制打印服务调用新的周期?onLayout()

(附录:是的,如果用户最终发送打印作业,则设置的高级选项将存在并传递,这意味着实际打印可以使用这些设置。尽管如此,在提交打印之前,它们不会显示在 UI 中,这意味着用户看到的内容和最终得到的内容可能会有所不同。EXTRA_PRINT_JOB_INFO

Android 打印 服务

评论


答: 暂无答案