8

我正在android上开发打印服务。可用打印机列表经常变化。但是,我无法找到删除不存在的打印机(即在某些时候可用的打印机)的方法。这些打印机在我的测试设备上显示为灰色。

我可以在 PrinterDiscoverySession 的 onStartPrinterDiscovery() 和 onValidatePrinters() 方法中看到“僵尸”打印机,但不知道如何摆脱它们。使用现有打印机调用会话的 addPrinters() 或使用不存在的打印机调用 removePrinters() 无济于事。

我会很感激任何建议。谢谢。

4

1 回答 1

0

PrinterDiscoverySession.GetPrinters()这会给你一个列表List<PrinterInfo>PrinterInfo您可以搜索 STATUS_UNAVAILABLE 不为 0 的打印机列表

查看这些可能会获得更清晰的答案:

打印机发现会话()

获取打印机()

打印机信息

STATUS_UNAVAILABLE(“返回一个位掩码,指示由此 Parcelable 对象实例封送的特殊对象类型集。值是 0 或 CONTENTS_FILE_DESCRIPTOR”)

另一种选择可能是

另一种方法是使用 PrinterInfo.GetStatus()

于 2021-08-18T17:56:18.533 回答