本发明涉及安卓操作系统领域,尤其涉及一种实现虚拟打印机的方法、装置、以及收银机。
背景技术:
1、本发明技术用于一种安卓销售点情报管理系统(point of sales terminal,简称pos机,也称收银机)。安卓pos机是一种受理支付业务的智能终端设备,外观形状像加厚版的手机,不同之处是安卓pos机集成了支付受理需要的外设,如磁条卡读卡器、芯片卡读卡器、摄像头、nfc、指纹识别等。其搭载操作系统为安卓系统。
2、安卓pos机通常是商户放在收银台使用,并且通常会有打印小票的需求。为了提高通用性,很多应用程序(application,简称app)采用安卓蓝牙打印应用程序接口(application programming interface,简称api),如美团商户版app。目前的安卓pos机支持集成蓝牙打印机,也支持集成非蓝牙打印机。当商户没有蓝牙打印机,只有非蓝牙打印机时,为了方便商户使用安卓pos机集成的非蓝牙打印机,亟需提供一种虚拟打印机技术。
3、采用所述虚拟打印机技术,商户应用程序在安卓系统中寻找蓝牙打印机时,无需区分集成的目标打印机是否为蓝牙打印机,只需要点选默认已配对的虚拟打印机,就可使用安卓pos机完成打印工作。
技术实现思路
1、本发明所要解决的技术问题是提供一种实现虚拟打印机的方法、装置、以及收银机,用于屏蔽非蓝牙打印机与蓝牙打印机的差异,使用户能够对非蓝牙接口的打印机采用同样的操作,实现打印机的加载与使用。
2、为了解决上述问题,本发明提供了一种实现虚拟打印机的方法,包括如下步骤:修改操作系统框架代码,创建虚拟蓝牙打印机;将所述虚拟蓝牙打印机作为系统扫描蓝牙设备动作的扫描结果,实现所述虚拟蓝牙打印机的加载;创建所述虚拟蓝牙打印机的专用通信通道,监听并且接收所述专用通信通道传送的打印数据;将接收到的所述打印数据转换为目标打印机能识别的数据;将转换后的数据外发至对应的所述目标打印机的打印接口。
3、在一些实施例中,所述虚拟蓝牙打印机的加载的步骤中,自定义扫描结果显示的设备名称。
4、在一些实施例中,所述虚拟蓝牙打印机的加载的步骤中,自定义扫描结果显示的设备图像。
5、在一些实施例中,所述虚拟蓝牙打印机的加载的步骤中,所述虚拟蓝牙打印机位于所述扫描结果的首位。
6、在一些实施例中,所述虚拟蓝牙打印机的加载的步骤中,所述虚拟蓝牙打印机的设备状态默认为已配对。
7、在一些实施例中,所述目标打印机为非蓝牙打印机。
8、在一些实施例中,所述目标打印机为蓝牙打印机。
9、为了解决上述问题,本发明还提供了一种用于实现虚拟打印机的装置,包括虚拟打印机模块和打印服务模块:所述虚拟打印机模块包括:创建单元,用于修改操作系统框架代码,创建虚拟蓝牙打印机;加载单元,与所述创建单元连接,将所述创建单元创建的所述虚拟蓝牙打印机作为系统扫描蓝牙设备动作的扫描结果,实现所述虚拟蓝牙打印机的加载;通信单元,与所述加载单元连接,创建所述虚拟蓝牙打印机的专用通信通道,用于传送打印数据;所述打印服务模块包括:监听单元,与虚拟打印机模块的所述通信单元连接,监听并且接收所述专用通信通道传送的打印数据;转换单元,与所述监听单元连接,将接收到的从所述监听单元发出的打印数据转换为目标打印机能识别的数据;发送单元,用于将所述转换单元转换后的能被目标打印机识别的数据外发至对应的所述目标打印机的打印接口。
10、在一些实施例中,所述打印服务模块以应用程序的形式集成在操作系统中。
11、在一些实施例中,所述打印服务模块默认在操作系统中以后台方式运行。
12、为了解决上述问题,本发明还提供了一种收银机,包括中央处理器,所述中央处理器运行有操作系统且与所述收银机集成的目标打印机连接,并被配置为执行如下步骤:修改操作系统框架代码,创建虚拟蓝牙打印机;将所述虚拟蓝牙打印机作为系统扫描蓝牙设备动作的扫描结果,实现所述虚拟蓝牙打印机的加载;创建所述虚拟蓝牙打印机的专用通信通道,监听并且接收所述专用通信通道传送的打印数据;将接收到的所述打印数据转换为目标打印机能识别的数据;将转换后的数据外发至对应的所述目标打印机的打印接口。
13、上述技术方案,基于一种操作系统,通过修改操作系统框架代码,创建虚拟蓝牙打印机并实现加载,监听并且接收从所述虚拟蓝牙打印机的专用通信通道传送的打印数据,转换所述打印数据转换为目标打印机能识别的数据并外发至对应的所述目标打印机的打印接口。通过上述步骤实现虚拟打印机的创建及功能运行,商户在遇到应用程序寻找蓝牙打印机的时候,只需要点选默认已配对的虚拟蓝牙打印机,就可使用集成的非蓝牙打印机完成打印工作。
14、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
1.一种实现虚拟打印机的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述虚拟蓝牙打印机的加载的步骤中,自定义扫描结果显示的设备名称。
3.根据权利要求1所述的方法,其特征在于,所述虚拟蓝牙打印机的加载的步骤中,自定义扫描结果显示的设备图像。
4.根据权利要求1所述的方法,其特征在于,所述虚拟蓝牙打印机的加载的步骤中,所述虚拟蓝牙打印机位于所述扫描结果的首位。
5.根据权利要求1所述的方法,其特征在于,所述虚拟蓝牙打印机的加载的步骤中,所述虚拟蓝牙打印机的设备状态默认为已配对。
6.根据权利要求1所述的方法,其特征在于,所述目标打印机为蓝牙打印机或者非蓝牙打印机。
7.一种用于实现虚拟打印机的装置,其特征在于,包括虚拟打印机模块和打印服务模块:
8.根据权利要求7所述的装置,其特征在于,所述打印服务模块以应用程序的形式集成在操作系统中。
9.根据权利要求7所述的装置,其特征在于,所述打印服务模块默认在操作系统中以后台方式运行。
10.一种收银机,包括中央处理器,其特征在于,所述中央处理器运行有操作系统且与所述收银机集成的目标打印机连接,并被配置为执行如下步骤:修改操作系统框架代码,创建虚拟蓝牙打印机;