如何作成安卓打印插件服务

安卓打印服务

实现的效果:在手机系统相册或者文件管理器选择文件->打印的时候,会触发该接口。
具体的检索打印机和打印数据的作成和发送功能需要自己的APP内部单独实现。系统只是提供打印的框架,即在何时触发何种API,这些API功能的具体的实现需要自己代码实现。

下面主要介绍一个在该服务的基础上一些细节功能如何实现,比如打印机的检索,打印机的添加,更多设置,打印机检索后的状态。

具体实现
在Manifest中声明打印服务

AndroidManifest.xml 安卓项目的清单文件

<application
	android:name=""
	android:label=""
	xxx:xx="">
	<service
		android:name=".XXService"	
		android:permission="android.permission.BIND_PRINT_SERVICE">
		<intent-filter>
                <action android:name="android.printservice.PrintService" />
        </intent-filter>
        
        // 配置service的相关参数和必要的画面对应的Activity
        <meta-data
                android:name="android.printservice"
                android:resource="@xml/print_service" />   
	</service>
</application>

res\xml\print_service.xml 该文件的名称和Manifest中service -> meta-data -> android:resource中的值保持一致。
print_service.xml

<print-service xmlns:android="http://schemas.android.com/apk/res/android"
	选择打印机之后,系统画面中会出现更多设置的选项,点击之后会跳转到下面声明的画面,系统自己跳转
	android:advancedPrintOptionsActivity="com.a.b.c.advancedOptionsActivity" 
	
	在设置画面的打印服务插件中,点击右上角的三个点,弹出选项框,点击设置按钮会跳到下面声明的画面,系统行为
	android:settingsActivity="com.a.b.c.settngsActivity"
	
	在设置画面的打印服务插件中,点击右上角的三个点,弹出选项框,点击添加打印机按钮会跳转到下面声明的画面,系统行为
	android:addPrintersActivity="com.a.b.c.addPrintersActivity"
/>
打印Service的声明:

具体需要重写的API参考官网,系统会根据你的设置自己创建Service不需要在代码中额外创建实例。
官网API说明:
https://developer.android.com/reference/android/printservice/PrintService?hl=en#printer-discovery
XXService

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值