如何从 Android 上的打印服务中删除不存在的打印机?

问题描述 投票:0回答:3

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

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

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

android-service android-print-framework
3个回答
1
投票

从 Android 默认打印服务打印菜单:

  1. 选择可用打印机列表中的向下箭头。
  2. 选择“所有打印机”。
  3. 选择“添加打印机”。
  4. 选择“默认打印服务”。
  5. 您将看到“已保存的打印机”
  6. 选择您想要从列表中删除的打印机。
  7. 选择“忘记”
  8. 将空格退到可用打印机列表中。

0
投票

PrinterDiscoverySession.GetPrinters()
这将为您提供一个带有
List<PrinterInfo>
的列表
PrinterInfo
。您可以在打印机列表中搜索 STATUS_UNAVAILABLE 不为 0 的打印机

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

PrinterDiscoverySession()

获取打印机()

打印机信息

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

另一种选择可能是

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


0
投票

从android默认打印服务打印菜单: 选择可用打印机列表中的向下箭头。 选择“所有打印机”。 长按要删除的打印机,然后单击“忘记”

© www.soinside.com 2019 - 2024. All rights reserved.