关于安卓19的板子通过usb连接打印机打印问题 (非小票打印机器)

很多打印机有提供windows,linux的打印驱动,但是安卓的驱动几乎没有厂家提供,这就导致很多想通过安卓平板控制打印机连接打印的用户无法实现,而市面上面大多数打印软件也是通过蓝牙或者网络来进行连接打印,而不是我们想要的usb线进行打印

在安卓的原生板子里面,提供了打印支持,且大部分打印机厂家也针对原生打印驱动做了兼容,比如惠普啥的(可以直接连接usb先选择文件进行打印测试) ,惠普提供有打印插件,三星也有提供打印插件,如果你在平板上面安装有他们的插件,则可以直接选择文件进行打印  

针对安卓开放出来的打印相关代码,可以查看https://developer.xamarin.com/api/namespace/Android.PrintServices/

如果你有改造打印流程或自定义打印流程并且在自己写兼容驱动吃力的话,不妨看看下面的方法

我们通过打印插件调起打印,最终在平板上面会有一个参数设置的弹窗,也就是说,在板子内部有检测到我们的请求的app服务,这个也是内置的系统服务,如果我们不能在驱动层动手的话,不妨看看系统内置apk又是如何做到监测我们请求并处理请求的

我通过adb命令,最终查看到监测我们请求是由一个内置名叫 PrintSpooler.apk 的一个实现的

一般来说,做这些特殊的需求,板子都是可以定制的,我们也可以获取到最高的权限, 这样子我们就可以通过使用系统源码及PrintSpooler.apk的代码来编译一个我们自己需要的打印服务

在sdk的代码里面有很多没有开放出来的代码,因为官方认为它们并不稳定或者其他原因等等,导致很多系统层的调用我们是无法使用的,但是如果我们自己编译出源码供我们所用,我们就可以使用系统层的服务调用很多我们之前无法调用的方法或者类(这些方法只限我们特殊的机器,正常的手机用户不建议这样弄,会出各种各样的问题)

所用使用上面系统源码编译出来的sdk jar 和 PrintSpooler.apk的代码方式,我们就可以不通过驱动层去直接改造打印整个流程或者自定义我们的一些打印需求,比如界面,参数设置等等 ( 如果在技术层面能够通过驱动层去实现的话,建议从驱动层实现,因为速度会更快,也会更可控)

下面我会上传printSpooler的源码,至于sdk的源码再编译,可以通过去下载源码到linux系统下面去自己编译,或者如果是购买的第三方厂家的板子,可以找他们要,一般来说都会提供

PrintSpooler 的资源链接https://download.csdn.net/download/nibinusm22b/10916199

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nibinusm22b

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值