You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中使用PrintService无法添加打印机至应用的解决咨询

解决PrintService无法显示“添加打印机”选项的配置调整

核心配置修正项

  • 声明打印机发现能力:在PrintService的清单声明中,必须添加android:canDiscoverPrinters="true"属性,示例:
    <service
        android:name=".YourPrintService"
        android:permission="android.permission.BIND_PRINT_SERVICE">
        <intent-filter>
            <action android:name="android.printservice.PrintService" />
        </intent-filter>
        <meta-data
            android:name="android.printservice"
            android:resource="@xml/printservice" />
    </service>
    
    同时在对应的printservice.xml配置文件中启用发现能力并关联添加打印机的界面:
    <print-service
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:canDiscoverPrinters="true"
        android:addPrintersActivity=".AddPrinterActivity" />
    
  • 关联添加打印机的Activity:必须通过printservice.xml中的android:addPrintersActivity指定一个自定义的添加打印机界面Activity,且该Activity需在清单中正常注册。
  • 权限配置:如果是网络类型打印机,确保应用已获取必要权限,在清单中添加:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  • 实现打印机发现逻辑:在自定义PrintService类中,重写onPrinterDiscoveryRequested()方法并启动打印机发现流程,避免空实现;同时在onPrinterDiscoveryCancelled()中停止发现操作。

额外排查点

  • 确认系统版本适配:不同Android版本对PrintService的配置要求存在细微差异,需确保适配目标SDK版本。
  • 检查服务启用状态:在系统设置的打印选项中,确认你的PrintService已被设置为可选的打印服务。

内容的提问来源于stack exchange,提问作者user21898879

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 03:59:57