CN115268802A - 一种自动打印方法及电子设备 - Google Patents
一种自动打印方法及电子设备 Download PDFInfo
- Publication number
- CN115268802A CN115268802A CN202110485882.5A CN202110485882A CN115268802A CN 115268802 A CN115268802 A CN 115268802A CN 202110485882 A CN202110485882 A CN 202110485882A CN 115268802 A CN115268802 A CN 115268802A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- printing
- content
- print content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007639 printing Methods 0.000 title claims abstract description 464
- 238000000034 method Methods 0.000 title claims abstract description 128
- 230000004044 response Effects 0.000 claims description 95
- 238000004891 communication Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012790 confirmation Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 28
- 230000006870 function Effects 0.000 description 38
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000000694 effects Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 9
- XXRKRPJUCVNNCH-AMFJOBICSA-N 4-[[(2S,3S)-1-amino-3-[(2S,3R,4S,5R)-5-(aminomethyl)-3,4-dihydroxyoxolan-2-yl]oxy-3-[(2S,3S,4R,5R)-5-(2,4-dioxopyrimidin-1-yl)-3,4-dihydroxyoxolan-2-yl]-1-oxopropan-2-yl]amino]-N-[[4-[4-[4-(trifluoromethoxy)phenoxy]piperidin-1-yl]phenyl]methyl]butanamide Chemical compound NC[C@H]([C@H]([C@H]1O)O)O[C@H]1O[C@@H]([C@@H](C(N)=O)NCCCC(NCC(C=C1)=CC=C1N(CC1)CCC1OC(C=C1)=CC=C1OC(F)(F)F)=O)[C@H]([C@H]([C@H]1O)O)O[C@H]1N(C=CC(N1)=O)C1=O XXRKRPJUCVNNCH-AMFJOBICSA-N 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 229920001621 AMOLED Polymers 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000011230 binding agent Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 241000628278 Entoloma album Species 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1238—Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1268—Job submission, e.g. submitting print job order or request not the print data itself
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本申请提供一种自动打印方法及电子设备,涉及终端技术领域。本申请能够使得用户仅需将电子设备靠近打印设备,即可根据电子设备当前的界面,实现自动快捷地打印。整个过程无需用户额外操作或者仅需用户少量操作;用户体验较高。该方法包括:电子设备在距离打印设备一定距离以内检测到打印设备时,确定前台应用为非桌面应用且为白名单库中的应用,则能够自动确定打印内容,并自动将打印内容发送至打印设备进行打印。
Description
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种自动打印方法及电子设备。
背景技术
随着在线教育和远程办公的推广,用户对于移动打印的需求越来越强烈。目前的移动打印主要基于两种方案,一种是通过电子设备的操作系统提供的打印服务进行打印,另一种是通过第三方的打印应用或打印小程序进行打印。不过,这会使得用户需要操作较多步骤,导致用户使用不便,耗时较长,用户体验较低。因此,如何提供一种方便快捷的自动打印方法及电子设备,成为我们的需求。
发明内容
为了解决上述的技术问题,本申请提供了一种自动打印方法及电子设备。本申请提供的技术方案,能够使得用户仅需将电子设备靠近打印设备,即可根据电子设备当前的界面,实现自动快捷地打印;该过程仅需用户少量操作或无需用户额外操作;用户体验较高。
为了实现上述的技术目的,本申请实施例提供了如下技术方案:
第一方面,提供一种自动打印方法,应用于电子设备。该方法包括:在位于打印设备的一定距离内,电子设备检测到打印设备,并与打印设备建立通信连接。在电子设备的前台应用为非桌面应用,且属于预设的白名单库后,根据前台应用的当前界面,电子设备自动获取打印内容。响应于接收到的用户输入,打印内容的全部或部分被选择,并且电子设备向打印设备发送被选择的打印内容的全部或部分;或者,电子设备自动向打印设备发送打印内容。或者,电子设备自动向打印设备发送打印内容。
其中,前台应用为电子设备当前界面对应的应用。示例性地,电子设备的显示屏当前显示哪个应用的界面,该应用则为前台应用。
在一些实施例中,电子设备利用查询到的应用包名,确定该应用包名为已注册的白名单中包含的应用包名,则确定该前台应用为白名单应用。其中,白名单为支持打印业务的应用注册的名单。
在一些实施例中,电子设备与打印设备能够支持NFC碰一碰发现功能、蓝牙靠近发现功能、IEEE 802.11协议的靠近发现功能,通用智能传感集线器发现功能等中的一种或多种;基于两者都支持的上述功能中的一种或多种功能,电子设备和打印设备能够互相发现。电子设备在检测到打印设备,并根据前台应用界面自动获取打印内容后,能够响应于用户的操作,将用户选择的其中部分或全部内容确定为待打印的内容发送至打印设备。或者,响应于用户的操作,确定将界面截图文件作为待打印的内容发送至打印设备。或者,电子设备直接将获取到的打印内容发送至打印设备打印。
这样电子设备在检测到打印设备后,能够自动识别前台应用界面,确定待打印的内容,无需用户额外操作或者仅需用户少量操作,即可实现打印。
根据第一方面,在电子设备的前台应用为桌面应用后,方法还包括:响应于接收到的另一用户输入,桌面应用的当前界面中支持打印的至少一个显示元素被选择,并且电子设备向打印设备发送被选择的显示元素;或者,电子设备自动向打印设备发送桌面应用的当前界面的截图。
在一些实施例中,电子设备根据确定前台应用的包名确定前台应用为系统桌面(即桌面应用),则无法直接确定用户需要打印的内容,需要接收用户在桌面应用显示界面上选择打印内容的操作。其中用户选择的打印内容为当前桌面应用显示界面支持打印的至少一个显示元素,该显示元素可以为界面显示的控件、图标等。或者,检测用户在桌面应用上打开其他应用选择文件的操作,确定待打印的内容。又或者,电子设备截图当前前台应用的显示界面,将截图文件确定为待打印的内容。
这样在前台应用为桌面应用的情况下,电子设备也能够实现自动获取打印内容,保证用户在多种场景中均能够通过较少的操作,实现便捷打印。
根据第一方面,或者以上第一方面的任意一种实现方式,根据前台应用的当前界面,电子设备自动获取打印内容;包括:在当前界面支持打印业务后,确定当前界面对应的打印内容,并自动获取打印内容;打印内容为当前界面包括的支持打印的至少一个显示内容。
在一些实施例中,前台应用显示界面支持的打印内容的数量为一个或多个。比如,前台应用为音乐应用,当前显示界面为音乐播放界面,假设音乐播放界面支持显示歌词图片和专辑封面图片。那么,电子设备能够获取的打印内容为歌词图片和/或专辑封面图片。进一步的,电子设备获取的打印内容可以为当前界面正在显示的显示内容,也可以为当前界面未显示但支持打印的显示内容。
这样电子设备能够根据显示界面,自动获得显示界面支持打印的全部或部分显示内容,满足用户的打印需求。
根据第一方面,或者以上第一方面的任意一种实现方式,根据前台应用的当前界面,电子设备自动获取打印内容;包括:在当前界面不支持打印业务后,确定当前界面的截图为打印内容,并自动获取打印内容。
这样电子设备在确定当前界面不支持打印业务的情况下,也能够通过截图的方式,获得打印内容,实现自动打印,满足用户的打印需求。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:电子设备通过电子设备运行的打印服务,向前台应用发送查询消息。打印服务接收到前台应用发送的查询响应。根据查询响应,电子设备获取打印内容。
在一些实施例中,电子设备在检测到打印设备后,调用打印服务进行打印内容的确定。打印服务与前台应用之间建立用于传输信号的通信连接,基于该通信连接,实现打印服务与前台应用之间的信息交互。如获取打印内容以及打印内容的相关信息。
根据第一方面,或者以上第一方面的任意一种实现方式,在查询响应包含当前界面中显示内容的标识后,当前界面支持打印业务,标识用于指示当前界面包括的支持打印的至少一个显示内容。在查询响应不包含当前界面中显示内容的标识后,当前界面不支持打印业务。
在一些实施例中,打印服务接收并解析前台应用发送的查询响应后,能够确定当前显示界面是否支持打印业务,以及支持哪些打印业务。例如,打印服务根据显示内容的标识确定前台应用支持打印该表示对应的显示内容。如查询响应中包含歌词图片的标识(如contentname),打印服务则确定当前界面支持打印歌词图片。
这样电子设备能够根据查询响应中携带的标识,快速确定待打印的打印内容,提高自动识别打印内容的效率。
根据第一方面,或者以上第一方面的任意一种实现方式,在电子设备自动获取打印内容之后,方法还包括:电子设备提示打印内容。
在一些实施例中,电子设备确定打印内容后,显示打印界面,用于提示用户检查打印内容是否正确,是否确认打印,从而避免误操作引起的异常打印。比如,用户不小心触发打印流程(如不小心触碰到打印设备的NFC区域,与打印设备建立连接),则当前用户可以选择不打印。或者,电子设备确定打印内容后,提示该打印内容。比如,电子设备通过语音提示、振动提示等方式,提示用户当前电子设备需要打印,确认是否执行打印作业。
根据第一方面,或者以上第一方面的任意一种实现方式,电子设备提示打印内容;包括:电子设备显示打印内容确认界面。
这样电子设备通过显示确认界面,接收用户的确认操作,保证打印操作的安全性。其中,确定操作例如可以包括点击确认控件(如“开始打印”控件)、双击显示屏等在显示屏上的预设手势操作,或者还可以包括双击音量键、双击手机背壳等预设操作,或者还可以包括等待预设时长后自动确认的操作。对于确定操作的具体类型,本申请实施例不做具体限定。
根据第一方面,或者以上第一方面的任意一种实现方式,响应于接收到的用户输入,打印内容的全部或部分被选择,并且电子设备向打印设备发送被选择的打印内容的全部或部分;包括:电子设备接收到第一用户输入。响应于电子设备接收到的第一用户输入,打印内容的全部或部分被选择。电子设备接收到第二用户输入。响应于电子设备接收到的第二用户输入,电子设备向打印设备发送被选择的打印内容的全部或部分。其中,用户输入包括第一用户输入和第二用户输入。
在一些实施例中,打印内容的数量为多个。电子设备在获取到多个打印内容后,显示多个打印内容的选择信息供用户选择确认,即接收用户的第一用户输入。在确定用户需要打印其中的部分或全部打印内容后,获取对应的打印内容信息,再接收用户的第二用户输入操作,确定向打印设备发送打印内容。
这样通过检测用户的输入,保证打印内容满足用户需求,确保打印的安全性,使得最终打印结果能够满足用户预期。
根据第一方面,或者以上第一方面的任意一种实现方式,响应于接收到的用户输入,电子设备自动向打印设备发送打印内容;包括:电子设备接收到第二用户输入。响应于电子设备接收到的第二用户输入,电子设备自动向打印设备发送打印内容。其中,用户输入包括第二用户输入。
在一些实施例中,打印内容的数量为一个。电子设备在获取到打印内容后,直接响应于用户确定打印的操作,向打印设备发送获取到的打印内容。
在另一些实施例中,打印内容的数量为一个或多个,电子设备在获取到一个或多个打印内容,检测到用户确定打印的操作后,将该一个或多个打印内容发送至打印设备进行打印。
这样电子设备在确定接收到用户的确定操作后,再将打印内容发送至打印设备进行打印,能够保证打印的安全性。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:电子设备运行有打印服务和打印模块。电子设备向打印设备发送被选择的打印内容的全部或部分;包括:电子设备通过打印服务、打印模块,向打印设备发送打印内容的全部或部分。
在一些实施例中,打印模块可以包含一个或多个打印设备对应的在电子设备中的插件。打印服务检测到打印设备后,能够自动调用该打印设备对应的打印模块处理打印业务,实现自动打印。
第二方面,提供一种电子设备。该电子设备包括:处理器、存储器以及计算机程序,其中计算机程序存储在存储器上,当计算机程序被处理器执行时,使得电子设备执行:在位于打印设备的一定距离内,电子设备检测到打印设备,并与打印设备建立通信连接。在电子设备的前台应用为非桌面应用,且属于预设的白名单库后,根据前台应用的当前界面,电子设备自动获取打印内容。响应于接收到的用户输入,打印内容的全部或部分被选择,并且电子设备向打印设备发送被选择的打印内容的全部或部分;或者,电子设备自动向打印设备发送打印内容。或者,电子设备自动向打印设备发送打印内容。
根据第二方面,电子设备还执行:在电子设备的前台应用为桌面应用后,响应于接收到的另一用户输入,桌面应用的当前界面中支持打印的至少一个显示元素被选择,并且电子设备向打印设备发送被选择的显示元素;或者,电子设备自动向打印设备发送桌面应用的当前界面的截图。
根据第二方面,或者以上第二方面的任意一种实现方式,根据前台应用的当前界面,电子设备自动获取打印内容;包括:在当前界面支持打印业务后,确定当前界面对应的打印内容,并自动获取打印内容;打印内容为当前界面包括的支持打印的至少一个显示内容。
根据第二方面,或者以上第二方面的任意一种实现方式,根据前台应用的当前界面,电子设备自动获取打印内容;包括:在当前界面不支持打印业务后,确定当前界面的截图为打印内容,并自动获取打印内容。
根据第二方面,或者以上第二方面的任意一种实现方式,电子设备还执行:电子设备通过电子设备运行的打印服务,向前台应用发送查询消息。打印服务接收到前台应用发送的查询响应。根据查询响应,电子设备获取打印内容。
根据第二方面,或者以上第二方面的任意一种实现方式,在查询响应包含当前界面中显示内容的标识后,当前界面支持打印业务,标识用于指示当前界面包括的支持打印的至少一个显示内容。在查询响应不包含当前界面中显示内容的标识后,当前界面不支持打印业务。
根据第二方面,或者以上第二方面的任意一种实现方式,在电子设备自动获取打印内容之后,电子设备还执行:电子设备提示打印内容。
根据第二方面,或者以上第二方面的任意一种实现方式,电子设备提示打印内容;包括:电子设备显示打印内容确认界面。
根据第二方面,或者以上第二方面的任意一种实现方式,响应于接收到的用户输入,打印内容的全部或部分被选择,并且电子设备向打印设备发送被选择的打印内容的全部或部分;包括:电子设备接收到第一用户输入。响应于电子设备接收到的第一用户输入,打印内容的全部或部分被选择。电子设备接收到第二用户输入。响应于电子设备接收到的第二用户输入,电子设备向打印设备发送被选择的打印内容的全部或部分。其中,用户输入包括第一用户输入和第二用户输入。
根据第二方面,或者以上第二方面的任意一种实现方式,响应于接收到的用户输入,电子设备自动向打印设备发送打印内容;包括:电子设备接收到第二用户输入;响应于电子设备接收到的第二用户输入,电子设备自动向打印设备发送打印内容;其中,用户输入包括第二用户输入。
根据第二方面,或者以上第二方面的任意一种实现方式,电子设备还执行:电子设备运行有打印服务和打印模块。电子设备向打印设备发送被选择的打印内容的全部或部分;包括:电子设备通过打印服务、打印模块,向打印设备发送打印内容的全部或部分。
第二方面以及第二方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种电子设备,该电子设备具有实现如上述第一方面及其中任一种可能的实现方式中所述的自动打印方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应地软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面以及第三方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,提供一种计算机可读存储介质。计算机可读存储介质存储有计算机程序(也可称为指令或代码),当该计算机程序被电子设备执行时,使得电子设备执行第一方面或第一方面中任意一种实施方式的方法。
第四方面以及第四方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行第一方面或第一方面中任意一种实施方式的方法。
第五方面以及第五方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第六方面,本申请实施例提供一种电路系统,电路系统包括处理电路,处理电路被配置为执行第一方面或第一方面中任意一种实施方式的方法。
第六方面以及第六方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第七方面,本申请实施例提供一种芯片系统,包括至少一个处理器和至少一个接口电路,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,当至少一个处理器执行指令时,至少一个处理器执行第一方面或第一方面中任意一种实施方式的方法。
第七方面以及第七方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的界面示意图一;
图2为本申请实施例提供的界面示意图二;
图3为本申请实施例提供的界面示意图三;
图4为本申请实施例提供的一种自动打印方法的场景示意图;
图5A为本申请实施例提供的电子设备的结构示意图一;
图5B为本申请实施例提供的电子设备的软件结构框图示意图;
图6为本申请实施例提供的自动打印方法流程图一;
图7为本申请实施例提供的自动打印方法流程图二;
图8为本申请实施例提供的界面示意图四;
图9为本申请实施例提供的界面示意图五;
图10为本申请实施例提供的通信框架示意图;
图11为本申请实施例提供的界面示意图六;
图12为本申请实施例提供的自动打印方法流程图三;
图13A为本申请实施例提供的界面示意图七;
图13B为本申请实施例提供的界面示意图八;
图14为本申请实施例提供的界面示意图九;
图15为本申请实施例提供的自动打印方法流程图四;
图16为本申请实施例提供的界面示意图十;
图17为本申请实施例提供的电子设备的结构示意图二。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在一些场景中,电子设备能够与打印机相连,将待打印的内容发送至打印机进行打印,电子设备需要接收用户的选择,确定待打印的内容。
示例性地,用户在利用音乐应用程序播放音乐的过程中,想要打印专辑封面图片,则需要先保存专辑封面图片,再进行打印。如图1中(a)所示界面101,电子设备(如手机)检测到用户长按图片11的操作后,显示如图1中(b)所示界面102,确定用户是否保存该图片(即专辑封面图片)。检测到用户点击“保存图片”控件12的操作后,确定保存专辑封面图片。之后,用户需要先在文件系统中找到专辑封面的保存位置,再进行打印。如图2中(a)所示界面201,电子设备响应于用户操作,打开图库应用程序,在图库应用程序中保存有待打印的专辑封面图片(如标记21指示的图片)。电子设备检测到用户点击标记21指示的图片的操作后,打开专辑封面图片显示如图2中(b)所示界面202。检测到用户点击“更多”控件22的操作后,显示更多编辑目录。检测到用户点击“打印或生成PDF”控件23的操作后,调用打印接口,显示如图2中(c)所示界面203。检测到用户点击“选择打印机”控件24的操作后,显示如图2中(d)所示界面204。最后,检测到用户点击“打印机A”控件25的操作后,确定将专辑封面图片发送至打印机A进行打印。
可见,上述打印方案中,仅部分支持操作系统打印接口的应用程序能够应用该打印方案。在打印过程中用户需要进行多次操作,且需要用户明确确定待打印内容的保存位置,导致用户操作难度较大。并且,在上述打印过程中图片编辑、矫正、滤镜等个性化选项不够丰富,打印功能单一。
另一些实施例中,电子设备中安装有第三方的打印应用程序或小程序,能够利用该应用程序或小程序进行打印。
示例性地,同上述打印方案,当前利用第三方的打印应用程序或小程序进行打印,同样需要先保存待打印的内容。假设仍为打印专辑封面图片的场景,电子设备利用如图1所示的方法,保存专辑封面图片。之后,如图3中(a)所示界面301,电子设备响应于用户的操作,启动第三方的打印应用程序显示界面301,检测到用户点击“图库打印”控件31的操作后,确定用户需要打印图片,之后需要检测用户选择的待打印的内容。如图3中(b)所示界面302,检测到用户点击“选择图片”控件32以及点击确定“确定”控件33的操作,确定用户选择打印该图片后,显示如图3中(c)所示界面303,检测到用户点击“打印机A”控件34的操作后,确定用户选择打印机A进行图片打印,则将用户选择的图片发送至打印机A进行打印。
可见,该打印方案中,用户需要先下载相应地应用程序并启动该应用程序。并且,在打印过程中同样需要进行多次操作,以及需要用户明确确定待打印内容的保存位置,导致用户操作难度较大。
由此,本申请实施例提供一种自动打印方法,电子设备能够自动识别前台显示内容,自动确定前台显示内容是否支持打印,不必用户进行过多的操作即可实现自动打印,降低打印难度,提升用户使用体验。
图4为本申请实施例提供的一种自动打印方法的场景示意图。如图4所示,电子设备100与打印设备200建立有通信连接。示例性地,电子设备100与打印设备200建立有无线通信连接。电子设备100可通过与打印设备200的无线通信连接,将电子设备100上的待打印文件发送至打印设备200上打印。
电子设备100可以通过无线通信技术与打印设备200建立无线通信连接。其中,无线通信技术包括但不限于以下的至少一种:近距离无线通信(near field communication,NFC),蓝牙(bluetooth,BT)(例如,传统蓝牙或者低功耗(bluetooth low energy,BLE)蓝牙),无线局域网(wireless local area networks,WLAN)(如无线保真(wirelessfidelity,Wi-Fi)网络),紫蜂(Zigbee),调频(frequency modulation,FM),红外(infrared,IR)等。
在一些实施例中,电子设备100与打印设备200都支持靠近发现功能。示例性地,电子设备100与打印设备200都能够通过NFC感应,来实现靠近发现功能。电子设备100靠近打印设备200后,电子设备100和打印设备200能够互相发现对方,之后建立诸如Wi-Fi端到端(peer to peer,P2P)连接、蓝牙连接等无线通信连接。之后,电子设备100识别当前的界面,根据当前的界面,自动确定打印内容,将打印内容发送至打印设备200进行打印,有效减少用户操作。
在一些实施例中,电子设备100与打印设备200通过局域网,建立无线通信连接。比如,电子设备100与打印设备200都连接至同一路由器。
在一些实施例中,电子设备100与打印设备200通过蜂窝网络、因特网等,建立无线通信连接。比如,打印设备200通过路由器接入因特网,电子设备100通过蜂窝网络接入因特网;进而,电子设备100与打印设备200建立无线通信连接。
示例性地,电子设备100包括但不限于智能手机、平板电脑、可穿戴设备(如智能手表、智能手环、智能眼镜)、膝上型计算机(Laptop)、个人数字助理(personal digitalassistant,PDA)、车载设备、虚拟现实(virtual reality,VR)设备、增强现实(augmentedreality,AR)设备、人工智能(artificial intelligence,AI)设备等。电子设备100安装的操作系统包括但不限于或者其它操作系统。在一些实施例中,电子设备100可以为固定式设备,也可以为便携式设备。本申请对电子设备100的具体类型、所安装的操作系统均不作限制。
示例性地,打印设备200可以为具有打印功能的电子设备。打印设备200可以安装操作系统。打印设备200安装的操作系统包括但不限于于 或者其它操作系统。打印设备200也可以不安装有操作系统。本申请对打印设备200的具体类型、有无安装操作系统、在有安装操作系统下操作系统的类型均不作限制。
示例性地,图5A示出了电子设备100的结构示意图。如图5A所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如,处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信(near field communication,NFC),紫峰(ZigBee),红外(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),MiniLed,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或M个显示屏194,M为大于1的正整数。
在一些实施例中,电子设备100的显示屏194显示界面,电子设备100能够利用处理器110自动识别显示内容,并根据内部存储器121、外部存储器接口120连接的外部存储器、或者处理器110中的存储器所存储的应用白名单,确定当前显示的应用是否支持自动识别打印。在支持自动识别打印的情况下,电子设备100能够根据用户的语音输入和/或触摸输入,确定用户选择的打印内容,并利用无线通信模块160将打印内容发送至打印设备200进行打印。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。
SIM卡接口195的P为大于1的正整数。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性地说明电子设备100的软件结构。示例性地,图5B示出了本申请实施例提供的电子设备100的一种软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图5B所示,应用程序包可以包括打印服务,打印模块,WLAN,相机,图库,通话,导航,蓝牙,视频等应用程序。
在一些实施例中,打印服务可以由支持Huawei Hilink的应用程序(比如,智慧生活应用程序(application,APP))提供。打印服务也可以为单独的支持Huawei Hilink的应用程序。电子设备通过靠近发现等方式,发现打印设备后,自动调用打印服务,处理打印业务。其中,Huawei Hilink为各种智能设备提供一种智能硬件开放生态的加入方式。电子设备能够通过硬件接入或云接入等方式加入到Huawei Hilink生态中,实现电子设备互联互通,并且能够实现电子设备内部应用程序间的互联互通。
需要说明的是,本申请实施例是以Huawei Hilink生态为例,对本申请实施例提供的自动打印方法进行说明。该自动打印方法还可以应用于其他支持应用程序间智能通信的生态环境中。
在一些实施例中,打印模块可以包含一个或多个打印设备对应的在电子设备中的插件。打印服务检测到打印设备后,能够自动调用该打印设备对应的打印模块处理打印业务,实现自动打印。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图5B所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器和通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如,在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。二维图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
以下实施例均以打印设备200为打印机为例进行说明。
示例性地,图6为本申请实施例提供的一种自动打印方法示意图。如图6所示,该方法可以包括S601-S609:
S601、电子设备检测到打印设备。
在一些实施例中,电子设备与打印机能够支持NFC碰一碰发现功能、蓝牙靠近发现功能、电气和电子工程师协会(institute of electrical and electronics engineers,IEEE)802.11协议的靠近发现功能,通用智能传感集线器(sensorHub)发现功能等中的一种或多种;基于两者都支持的上述功能中的一种或多种功能,电子设备和打印设备能够互相发现。
比如,电子设备和/或打印机打开NFC功能,电子设备靠近或接触到打印机上的NFC感应区域后,发现打印机。
S602、电子设备识别前台应用。
其中,前台应用为电子设备当前界面对应的应用。示例性地,电子设备的显示屏当前显示哪个应用的界面,该应用则为前台应用。
在一些实施例中,电子设备需要确认当前显示界面显示的前台应用,以判断当前场景下电子设备是否能够自动确定打印内容。比如,利用UsageStatsManager类进行前台应用识别。该UsageStatsManager类为安卓(Android)系统中,用于对电子设备使用情况进行统计管理的工具;能够查询到电子设备使用历史(如当前打开某应用)和统计信息,进而可获取到当前前台应用的包名,以此识别出不同的前台应用。其中,应用程序的包名在Android系统中具备唯一性,可以作为应用程序的唯一标识。
示例性地,如图7所示的自动打印方法,电子设备例如可以包括打印服务、前台应用以及打印模块。电子设备通过碰一碰发现、靠近发现等方式发现打印机后,开启打印服务。如S701所示,打印服务识别前台应用。如打印服务确定前台应用为系统桌面,或者确定前台应用为音乐应用等。其中,可以通过startService方法调用该打印服务。
需要说明的是,电子设备在分屏显示或悬浮窗显示的情况下,通过检测最近一次接收到用户操作的位置对应的应用,确定该应用为前台应用。比如,电子设备分屏显示应用1和应用2,电子设备最近一次检测到用户的操作为在应用1对应的显示区域上的触摸操作,则确定前台应用为应用1。
S603、电子设备确定前台应用是否为系统桌面。若是,即前台应用为系统桌面,则执行S604;若否,即前台应用不是系统桌面,则执行S605。
在一些实施例中,电子设备利用查询到的应用包名,确定该应用包名是否为系统桌面包名,进而确定前台应用是否为系统桌面。即确定该前台应用是否为桌面应用。
示例性地,如图7所示S702,电子设备能够通过调用打印服务,确定前台应用是否为系统桌面。如图8所示,电子设备显示主界面,则确定当前显示的前台应用为系统桌面,需要执行下述S604。
如此,电子设备能够通过自动识别前台界面显示内容,根据不同的界面显示内容,选择不同的处理打印业务的方式,进而为用户提供更加灵活的打印方法。
S604、电子设备检测用户选择的打印内容。
在一些实施例中,电子设备确定前台应用为系统桌面,则无法直接确定用户需要打印的内容,需要接收用户在桌面应用显示界面上选择打印内容的操作。其中用户选择的打印内容为当前桌面应用显示界面支持打印的至少一个显示元素,该显示元素可以为界面显示的控件、图标等。因此如图7所示,电子设备需要执行S703和S704。
S703、打印服务调用打印模块。
S704、打印模块接收用户选择的待打印的打印内容。
示例性地,在S703-S704中,打印服务在确定前台应用为系统桌面后,调用或启动打印模块,由打印模块接收用户确定的打印内容。其中,打印服务可以通过Android接口定义语言(android interface definition language,AIDL)跨进程调用打印模块。AIDL跨进程调用为Android中常见的跨进程接口调用方式之一,需要通信双方App同时持有一份相同的AIDL文件,并通过绑定双方服务,即可实现跨进程接口调用。此外,由用户确定打印内容的方法可以参考上述图1-图3所述的方法,在此不再赘述。或者,在另一些场景中,电子设备直接截图当前桌面应用显示界面,将显示界面截图作为待打印的打印内容。
S605、电子设备确定前台应用是否为白名单应用。若否,即前台应用不是白名单应用,则执行S606;若是,即前台应用为白名单应用,则执行S607。
在一些实施例中,电子设备确定前台应用不是系统桌面,则需要进一步确定前台应用是否为白名单应用,即确定是否支持自动识别打印。其中,白名单可以为白名单库,用于保存已注册的应用包名,该白名单可以预置于电子设备中;或者电子设备在需要进行查询时,向服务器请求下载白名单。白名单可以包含已经注册的应用程序的包名,电子设备查询白名单中是否包含当前前台应用的包名,即可确定当前前台应用是否为已经注册的支持自动识别打印的应用。
示例性地,如图7所示S705,可以由打印服务确定前台应用是否为白名单应用。具体的,打印服务利用上述S701中获取到的前台应用的包名,在白名单中进行配置文件匹配,确定前台应用是否存在于白名单中,进而确定前台应用是否为白名单应用。
在一些实施例中,在S605之前,应用程序需要进行白名单注册。例如,应用程序开发者在开发者网站进行配置文件配置的过程中,进行包名注册,确定允许当前应用支持自动识别打印业务。服务器接收注册信息,生成白名单供电子设备下载。电子设备可以周期性更新下载白名单,或者在线查询白名单,或者周期性下载新注册的应用程序注册信息。
S606、电子设备确定打印内容为显示界面截图内容。
在一些实施例中,电子设备确定前台应用不是白名单中的应用,则确定前台应用不支持自动识别打印,进而确定需要将当前显示界面截图打印。
示例性地,如图7所示S705以及S706。
S705、打印服务确定前台应用是否为白名单应用。
S706、打印服务将当前显示界面截图发送至打印模块。
在一些实施例中,打印服务确定前台应用不是白名单应用,则利用Android系统中SurfaceControl.screenshot接口进行截图并保存截图文件。之后,将保存的截图文件的统一资源标识符(uniform resource identifier,URI)通过AIDL跨进程调用发送至打印模块。
其中,URI用于表示对应的待操作的数据引用,打印模块接收到URI后,能够根据URI确定对应的截图文件保存位置,即获得截图文件的访问权限,进而能够获得截图文件进行打印。比如,content:\/\/cn.netease.cloudmusic.fileprovider\/external_storage_root\/test\/Test1.png为一种URI示例。
示例性地,如图9所示界面901,电子设备在显示应用聊天界面901的过程中,检测到打印机,则调用打印服务执行上述S701-S705。打印服务确定当前界面901对应的前台应用为应用,且不是白名单应用,则生成截图91,并将截图91保存位置的URI发送至打印模块,从而使得打印模块能够打印当前显示界面。
如此,即使前台应用不是白名单应用,用户同样不必进行多次操作,即可实现自动打印,降低用户操作难度。
S607、电子设备确定显示界面是否支持打印业务。若否,即显示界面不支持打印业务,则执行S606;若是,即显示界面支持打印业务,则执行S608。
在一些实施例中,前台应用为白名单应用,支持打印业务,但是前台应用可能包含多个显示界面,可能部分显示界面的显示内容支持打印业务,部分显示界面的显示内容不支持打印业务,那么电子设备就需要进一步获取前台应用显示界面支持的具体打印内容,实现打印。
在一些实施例中,打印服务确定前台应用是白名单应用,则需要与前台应用建立通信连接,用于确定前台应用当前显示界面是否支持打印业务,以及获取支持的打印内容信息。
示例性地,如图7所示S707。
S707、打印服务与前台应用建立通信连接。
在一些实施例中,该打印服务与前台应用可以基于Android轻量级Messenger进程间通信方式,建立用于传输信号的通信连接。
示例性地,如图10所示,在打印服务101和前台应用102之间,利用Binder实体1011以及Binder实体1012建立两者之间的通信连接,用于传输后续步骤中的交互信息。进一步地,在打印服务101侧配置有用于处理交互信息的处理者(Handle)1013,例如用于处理能够发送至前台应用102或打印模块的消息。前台应用102侧配置有用于处理交互信息的处理者(Handle)1014,例如用于处理能够发送至打印服务101的消息。
如此,电子设备通过建立如图10所示的通信连接,实现打印服务与前台应用之间的信息交互。
可选地,上述S607可以实现为如图7所示S708-S711。
S708、打印服务向前台应用发送查询信息。
在一些实施例中,打印服务利用与前台应用之间的通信连接,向前台应用发送查询信息,该查询信息用于查询前台应用当前显示界面是否支持打印业务。查询信息例如可以包括打印服务的包名(clientName)以及打印业务标识(bussinessID)。
其中,打印服务的包名用于通知前台应用当前请求消息的目的,打印业务标识可以默认为0(或者描述为0x00)。查询信息也可以描述为应用界面打印业务(APP page printbusiness,APPB)请求消息,打印服务将APPB请求消息以预设封装方式进行封装,并通过上述S707中建立的通信连接,将封装后的APPB请求消息进行跨进程传输。相应地,前台应用接收该APPB请求消息。其中,预设封装方式例如可以包括依次以JSON对象(或XML)、Bundle和Message进行封装。
示例性地,如下示出一种APPB请求消息。
S709、前台应用解析查询信息,确定支持的打印业务。
在一些实施例中,前台应用接收到查询信息后,解析查询信息。例如,依次解析Message、Bundle和JSON Object,获取到打印服务的包名和打印业务标识。根据打印服务的包名以及打印业务标识,前台应用确定当前显示界面显示内容支持的打印业务列表,生成查询响应。
在一些实施例中,查询响应也可以描述为APPB响应消息,该查询响应用于通知打印服务当前显示界面支持的打印业务,查询响应例如可以包括前台应用包名(serverName)、打印业务标识(bussinessID)、前台应用界面名称(foregroundName)以及支持的打印业务列表(contentlist)。其中,支持的打印业务列表中例如可以包括内容编码(contentId)、内容名称(contentname)以及内容类型(fileType)。内容类型字段取值用于表示打印内容的格式。例如fileType字段取值为0,用于表示打印内容格式为图片格式。又比如,fileType字段取值为1,用于表示打印内容格式为文档格式。上述fileType字段取值及其含义仅为示例性说明,本申请实施例对此不做具体限定。
示例性地,如下示出一种APPB响应消息。
S710、前台应用向打印服务发送查询响应。
在一些实施例中,前台应用生成查询响应后,将查询响应以预设封装方式(如JSONObject、Bundle和Message封装方式)进行封装,并通过上述S707中建立的通信连接进行跨进程传输。相应地,打印服务接收该查询响应。
S711、打印服务确定显示界面是否支持打印业务。
在一些实施例中,打印服务接收到查询响应后,解析查询响应。例如,依次解析Message、Bundle和JSON Object,根据contentlist字段长度,能够确定当前显示界面是否支持打印业务,以及支持哪些打印业务。例如,contentlist字段长度为0,则表示显示界面不支持打印业务。或者,打印服务根据查询响应中是否包含显示内容的标识,确定当前界面是否支持打印业务。比如,在查询响应包含当前界面中显示内容的标识后,当前界面支持打印业务,标识用于指示当前界面包括的支持打印的至少一个显示内容。在查询响应不包含当前界面中显示内容的标识后,当前界面不支持打印业务。
示例性地,打印服务解析上述S709中示例的查询响应,根据contentlist字段内容,确定当前前台应用显示界面支持打印歌词图片。
如此,电子设备通过上述S708-S711确定显示界面是否支持打印业务,如果支持打印业务,则电子设备能够进一步获取打印内容,即执行下述S608;若不支持打印业务,则电子设备执行上述S606,即对显示界面进行截图,确定打印内容为截图内容。
示例性地,如图7所示,S712与上述S706相同,打印服务确定当前显示界面不支持打印业务,则将当前显示界面截图发送至打印模块。相应地,打印模块接收到截图后,确定待打印的打印内容为截图内容。
S608、电子设备确定显示界面的打印内容。
在一些实施例中,电子设备确定当前显示界面支持的打印业务后,需要进一步确定当前显示界面支持的打印业务对应的打印内容,打印内容为当前显示界面包括的支持打印的至少一个显示内容。比如,当前显示界面支持的打印业务为歌词图片,则电子设备需要进一步获取当前显示界面正在播放的歌曲的歌词图片信息,实现打印。
可选地,如图7所示,S608可以实现为下述S713-S716。
S713、打印服务向前台应用发送打印内容请求。
在一些实施例中,打印服务利用与前台应用之间的通信连接,向前台应用发送打印内容请求,该打印内容请求用于请求前台应用当前界面支持的打印业务的打印内容信息。打印内容请求例如可以包括打印服务的包名(clientName)、打印业务标识(bussinessID)、打印内容标识(contIdId)、打印内容类型(fileType)、支持的最大打印数量(maxFileNum)。其中,打印业务标识可以默认为0。打印内容请求也可以描述为应用界面数据(APP page data,APPD)请求消息,打印服务将APPD请求消息,以预设封装方式(如JSONObject、Bundle和Message封装方式)进行封装,并通过上述S707中建立的通信连接进行跨进程传输。相应地,前台应用接收该APPD请求消息。
示例性地,如下示出一种APPD请求消息。
S714、前台应用解析打印内容请求,确定打印内容信息。
在一些实施例中,前台应用接收到打印内容请求后,解析打印内容请求。例如,依次解析Message、Bundle和JSON Object,获取打印服务的包名(clientName)、打印业务标识(bussinessID)、打印内容标识(contIdId)、打印内容类型(fileType)、支持的最大打印数量(maxFileNum)。进而确定待打印的打印内容信息,生成打印内容响应。其中,打印内容信息例如包括打印内容的URI数据。
在一些实施例中,打印内容响应也可以描述为APPD响应消息,该打印内容响应用于通知打印服务当前打印内容的URI数据,即允许打印服务访问打印内容。打印内容响应例如可以包括前台应用包名(serverName)、打印业务标识(bussinessID)、打印内容标识(contIdId)、打印内容类型(fileType)、打印内容数量(maxFileNum)、打印内容文件列表(fileList)。其中,打印内容文件列表(fileList)中例如可以包括文件序号(index)、文件格式(format)、文件状态(status)、文件URI(fileUriStr)、文件路径(filePath)以及文件大小(fileSize)。
示例性地,如下示出一种APPD响应消息。
S715、前台应用向打印服务发送打印内容响应。
在一些实施例中,前台应用生成打印内容响应后,将打印内容响应以预设封装方式(如JSON Object、Bundle和Message封装方式)进行封装,并通过上述S707中建立的通信连接进行跨进程传输。相应地,打印服务接收该打印内容响应。
S716、打印服务解析打印内容响应,并获取打印内容信息。
在一些实施例中,打印服务接收到打印内容响应后,解析打印内容响应。例如,依次解析Message、Bundle和JSON Object,获取打印内容信息,如文件列表中的信息等。
如此,电子设备通过上述S713-S716确定前台应用显示界面待打印的打印内容信息,获得访问权限,从而能够执行后续的打印任务。
S609、电子设备显示打印界面,检测用户的确定操作,打印对应的打印内容。
在一些实施例中,电子设备确定打印内容信息后,显示打印界面,用于提示用户检查打印内容是否正确,是否确认打印,从而避免误操作引起的异常打印。比如,用户不小心触发上述S601,则当前用户可以选择不打印。或者,电子设备确定打印内容后,提示该打印内容。比如,电子设备通过语音提示、振动提示等方式,提示用户当前电子设备需要打印,确认是否执行打印作业。
需要说明的是,如图6所示,S609中确定的打印内容,为上述S604、或S606、或S608中确定的打印内容中包含的打印内容。即电子设备执行S604后执行S609,或者电子设备执行S606后执行S609,或者电子设备执行S608后执行S609。
示例性地,如图7所示,S609可以实现为下述S717和S718。
S717、打印服务向打印模块发送打印内容信息。
在一些实施例中,打印服务获取到打印信息后,将打印信息发送至打印模块,使得打印模块获得访问打印内容的权限,从而实现打印。
比如,打印服务将要打印的数据信息内容的URI作为参数,通过AIDL跨进程调用传递给打印模块。
S718、打印模块响应于用户的确定操作,打印对应的打印内容。
在一些实施例中,打印模块接收到打印内容信息后,访问打印内容,并显示确认界面,接收用户对打印内容的确认操作。如接收到确定操作后,则将相应的打印内容发送至打印机进行打印。
示例性地,如图11所示中(a)所示界面1101,界面1101用于显示图库内容。假设电子设备在显示界面1101的过程中,通过碰一碰发现的方式发现打印机,则调用打印服务,执行上述图6以及图7所示的方法。此时,如界面1101上图标111所示,用户已选中一张图片,即当前打印内容为图标111所指示的图片,打印内容信息为图标111所指示的图片的URI数据。打印模块获得打印内容信息后,使得电子设备显示如图11中(b)所示界面1102,用于提示用户对打印内容进行确定。如电子设备检测到用户点击“开始打印”控件112的操作后,确定打印当前打印内容,则打印模块将该图片发送至打印机进行打印。
其中,确定操作例如可以包括点击确认控件(如“开始打印”控件)、双击显示屏等在显示屏上的预设手势操作,或者还可以包括双击音量键、双击手机背壳等预设操作,或者还可以包括等待预设时长后自动确认的操作。对于确定操作的具体类型,本申请实施例不做具体限定。
在一些实施例中,假设打印内容为如图7所示的S706或S712中打印服务截图获得的打印内容。若打印模块响应于用户的操作,确定取消打印,则电子设备可以自动删除截图的打印内容,以节约存储空间。或者,电子设备可以响应于用户的操作,删除对应的截图的打印内容。
如此,本申请实施例提供的自动打印方法,电子设备能够自动识别显示内容,实现自动打印,不必用户手动在多个应用中反复跳转,查找打印内容。从而降低打印难度,提升打印效率,满足用户快速便捷的移动打印需求。
此外,电子设备通过查询响应(即APPB响应消息),能够预先定义不同应用的不同显示界面的打印策略,或者预先定义同一显示界面支持的不同打印内容的打印策略,满足用户的灵活打印需求。
在一些场景中,打印模块接收到打印内容信息后,无需用户确认操作即可直接将打印内容发送至打印机进行打印,进一步减少用户操作,保证无需用户进行额外的操作即可实现自动打印。或者,在另一些场景中,打印模块接收到打印内容信息后,等待预设时长后自动将打印内容发送至打印机进行打印,这样电子设备也能够保证在无需用户额外操作的情况下,实现自动打印。
示例性地,如图11所示场景,电子设备在显示图11中(a)所示界面1101的过程中检测到打印机后,直接可以进行图片打印,不必再显示如图11中(b)所示界面1102,接收用户的确认操作。
可以理解的是上述实施例中,图7所示的打印服务、前台应用、打印模块的划分仅为示例性说明,还可以存在其他划分方式用于实现上述自动打印方法。
在一些场景中,前台应用当前显示界面支持多个打印内容,电子设备需要确认用户需要打印的打印内容。比如,音乐播放界面支持打印歌词图片和专辑封面图片,电子设备无法直接判断打印内容,则需要接收用户的选择操作,确定需要打印的打印内容。示例性地,图12为本申请实施例提供的又一种自动打印方法。如图12所示,在图7所示S711之后,还可以包括S1201和S1202。
S1201、打印服务确定是否支持多个打印内容。若是,即支持多个打印内容,则执行S1202;若否,即只支持一个打印内容,则执行S713。
在一些实施例中,前台应用显示界面可以支持一个或多个打印内容,打印服务在接收到查询响应后,解析查询响应,根据支持的打印业务列表(contentlist)字段的长度,即可确定前台应用显示界面是否支持多个打印内容。如支持的打印业务列表(contentlist)字段的长度大于1,则表示前台应用显示界面支持打印内容数量为多个。
示例性地,打印服务根据上述S709中所示的APPB响应消息中支持的打印业务列表(contentlist)字段的长度,确定前台应用支持的打印内容数据为1,即支持打印歌词图片。
又示例性地,如图13A中(a)所示界面1301为音乐播放界面,具有音乐播放功能,显示有音乐专辑封面图片。电子设备检测到用户点击界面1301上空白位置的操作,能够切换显示内容。比如,显示图13A中(b)所示界面1302。显示内容切换为正在播放的音乐的歌词图片。界面1302同样为音乐播放界面,具有音乐播放功能。那么当前音乐播放界面可以实现不同的打印策略。比如,可以实现三种打印策略:打印歌词图片和/或打印专辑封面图片。也即音乐播放功能页面支持多个打印内容。电子设备在显示界面1301或显示界面1302的过程中,检测到打印机,确定当前界面支持多个打印内容,则执行S1202,由用户确定具体实现哪一种打印策略。
如下示出当前场景下APPB响应消息,打印服务根据该APPB响应消息中支持的打印业务列表(contentlist)字段的长度,确定前台应用支持的打印内容数据为2,即支持打印歌词图片和专辑封面图片。
可以看出,不同打印策略对应的打印内容包含电子设备当前界面用户可见的显示内容,也可以包含电子设备当前界面用户不可见的显示内容。比如,电子设备在显示如图13A中(a)所示界面1301的过程中检测到打印机,触发打印流程,当前界面1301支持打印用户可见的显示内容(如界面1301显示的专辑封面图片)以及支持打印用户不可见的显示内容(如图13A中(b)所示界面1302显示的歌词图片)。
需要说明的是,本申请实施例不限制S711和S1201的执行顺序。比如,打印服务在接收到查询响应后,能够根据查询响应同时确定前台应用显示界面是否支持打印业务以及支持的打印内容数量。
S1202、打印服务显示多个支持的打印内容,接收用户选择的打印内容。
在一些实施例中,打印服务确定前台应用支持的打印内容数据为多个,则需要显示打印内容选择界面,接收用户选择的打印内容。例如,打印服务根据解析后的APPB响应消息中的支持的打印内容列表,生成提示信息,使用Android中的自定义会话(Dialog)或者活动(Activity)进行界面提示,接收用户选择的打印内容。
示例性地,如图13B中(a)所示界面1303,假设音乐播放界面支持的打印内容数量为2,包括歌词图片以及专辑封面图片。电子设备在通过碰一碰发现等方式发现打印机后,弹框显示提示框131,用于显示打印服务生成的提示信息。电子设备检测到用户点击“歌词图片”控件132的操作后,确定当前需要打印的打印内容为歌词图片,则打印服务确定用户选择的打印内容,之后能执行S713,向前台应用请求对应的打印内容信息。或者,电子设备在通过碰一碰发现等方式发现打印机后,显示如图13B中(b)所示界面1304,通过显示通知信息133的方式提示用户选择打印内容。
在一些场景中,前台应用显示界面支持的打印内容数量为多个,打印服务可以从前台应用处获得多个打印内容的打印内容信息,之后将多个打印内容的打印内容信息全部发送至打印模块。打印模块在接收用户确定打印的操作的过程中,直接确定打印内容。即打印服务不执行上述S1201和S1202,在图7所示的方法流程中,直接在S718中确定具体的打印内容。
示例性地,如图14中(a)所示界面1401,假设电子设备在通过碰一碰发现等方式发现打印机时,如界面1401所示,电子设备已选中图片141以及图片142。那么,在上述打印内容自动识别过程中,打印服务在图7所示S715中获得的打印内容响应中包含图片141的URI数据以及图片142的URI数据。打印服务将图片141的URI数据以及图片142的URI数据发送至打印模块,打印模块此时具有访问图片141和图片142的权限(即能够打印图片141和图片142)。如图14中(b)所示界面1402,打印模块接收用户选择的打印内容。如界面1402所示,当前“第1页”控件143和“第2页”控件144均为选中状态,图片141和图片142均可打印(即两个打印内容均可打印),如电子设备检测到用户点击“第2页”控件144的操作,取消选中状态,则确定用户不打印“第2页”控件144对应的图片,仅打印“第1页”控件143对应的图片。
如此,在前台应用显示界面支持多个打印内容的场景中,电子设备能够根据用户选择,灵活确定打印内容。
在一些场景中,前台应用在接收并解析查询信息后,不仅能够确定支持的打印业务,还能够直接确定支持的打印业务对应的打印内容信息,那么在向打印服务发送查询响应时,能够在查询响应中直接携带打印内容信息。图15为本申请实施例提供的又一种自动打印方法流程示意图。如图15所示,在图7所示S711后,打印服务可以执行S1501。
S1501、打印服务确定打印内容信息。
在一些实施例中,打印服务在接收到查询响应后,确定查询响应中是否携带有打印内容信息。其中,打印服务确定的打印内容信息可以为前台应用显示界面支持的全部打印内容的打印内容信息。打印服务确定的打印内容信息也可以为用户确定选择打印的打印内容的打印内容信息,即对应于图15所示流程,如图12所示流程中在S1202之后,也可以执行S1501。打印服务在确定打印内容信息后,则可以不必再向前台应用请求打印内容信息,即不必再执行S713-S716,不必再与前台应用交互APPD消息。
示例性地,如图11所示场景中,在如图7所示的S710中,前台应用确定的查询响应中,携带的信息包括如图11中(a)所示界面1101支持打印业务、打印内容数量为1(即打印内容为图标111所指示的图片)、以及图标111所指示的图片的URI数据。那么,打印服务在接收到查询响应后,能够直接将图标111所指示的图片的URI数据发送至打印模块,进行打印。
如此,电子设备能够减少打印服务与前台应用的交互信息传输步骤,提升打印效率。
在一些场景中,电子设备能够接收用户对白名单应用的编辑。比如,应用程序开发者在开发者网站对应用A、应用B以及应用C进行注册,将这三个应用注册为支持自动识别打印的白名单应用。电子设备获得白名单后,接收用户对白名单的编辑,如用户不允许打印应用B对应的内容,则可以在白名单中取消应用B的白名单权限。那么后续在如图6所示的S605中,电子设备则确定应用B不是白名单应用,如需打印只能进行截图打印。又比如,应用程序开发者在开发者网站对应用A的打印内容1、打印内容2、打印内容3、打印内容4以及打印内容5进行注册,即使得白名单应用A支持的打印内容数量为5。电子设备获得白名单后,接收用户对白名单的编辑,如用户常用打印需求为打印内容1,则电子设备可以响应于用户的选择,在白名单中取消应用A的打印内容2、打印内容3、打印内容4以及打印内容5的白名单权限。那么后续在如图12所示的流程中,打印服务能够不必再执行S1201和S1202,即不必在接收用户的选择,进一步减少用户的操作,提高打印效率。
示例性地,如图16所示界面1601,电子设备在界面1601上接收用户对白名单应用的编辑。比如,电子设备检测到用户点击“切换编辑”控件161的操作,能够切换编辑白名单应用,如当前正在编辑应用A。电子设备检测到用户点击打印内容选项对应的“选择”控件162的操作,则可以确定用户是否选中或取消相应打印内容的白名单权限,如当前电子设备确定用户取消打印内容2和打印内容4的白名单权限。电子设备检测到用户点击“全不选”控件163的操作后,能够确定用户取消应用A的白名单权限(即取消应用A全部打印内容的白名单权限)。之后,电子设备检测到用户点击“确定”控件164的操作后,确定用户完成对白名单应用的编辑。
如此,电子设备能够根据用户的个性化需求,编辑白名单应用,进一步提升用户的使用体验。
在一些场景中,打印服务也能够执行上述方法实施例中打印模块执行的操作。例如打印服务在确定打印内容后,直接将打印内容发送至打印设备进行打印。
以上结合图6-图16详细说明了本申请实施例提供的自动打印方法。以下结合图17详细说明本申请实施例提供的自动打印装置。
在一种可能的设计中,图17为本申请实施例提供的电子设备的结构示意图。如图17所示,电子设备1700可以包括:显示单元1701、处理单元1702以及收发单元1703。电子设备1700可用于实现上述方法实施例中涉及的电子设备的功能。
可选地,显示单元1701,用于支持电子设备1700显示界面内容;和/或,支持电子设备1700执行图6中的S609。
可选地,处理单元1702,用于支持电子设备1700执行图6中的S602、S603、S605、S606、S607以及S608。
可选地,收发单元1703,用于支持电子设备1700执行图6中的S601、S604以及S609。
其中,收发单元可以包括接收单元和发送单元,可以由收发器或收发器相关电路组件实现,可以为收发器或收发模块。电子设备1700中的各个单元的操作和/或功能分别为了实现上述方法实施例中所述的自动打印方法的相应流程,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,为了简洁,在此不再赘述。
可选地,图17所示的电子设备1700还可以包括存储单元(图17中未示出),该存储单元中存储有程序或指令。当处理单元1701以及收发单元1702执行该程序或指令时,使得图17所示的电子设备1700可以执行上述方法实施例中所述的自动打印方法。
图17所示的电子设备1700的技术效果可以参考上述方法实施例中所述的自动打印方法的技术效果,此处不再赘述。
除了以电子设备1700的形式以外,本申请提供的技术方案也可以为电子设备中的功能单元或者芯片,或者与电子设备匹配使用的装置。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性地,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的自动打印方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的自动打印方法。
另外,本申请实施例还提供一种装置。该装置具体可以是组件或模块,该装置可包括相连的一个或多个处理器和存储器。其中,存储器用于存储计算机程序。当该计算机程序被一个或多个处理器执行时,使得装置执行上述各方法实施例中的自动打印方法。
其中,本申请实施例提供的装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法。因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应地软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuit,ASIC)中。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明。实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成;即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
计算机可读存储介质包括但不限于以下的任意一种:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种自动打印方法,其特征在于,应用于电子设备,所述方法包括:
在位于打印设备的一定距离内,所述电子设备检测到打印设备,并与所述打印设备建立通信连接;
在所述电子设备的前台应用为非桌面应用,且属于预设的白名单库后,根据所述前台应用的当前界面,所述电子设备自动获取打印内容;
响应于接收到的用户输入,
所述打印内容的全部或部分被选择,并且所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;或者,所述电子设备自动向所述打印设备发送所述打印内容;
或者,
所述电子设备自动向所述打印设备发送所述打印内容。
2.根据权利要求1所述的方法,其特征在于,在所述电子设备的前台应用为桌面应用后,所述方法还包括:
响应于接收到的另一用户输入,所述桌面应用的当前界面中支持打印的至少一个显示元素被选择,并且所述电子设备向所述打印设备发送所述被选择的显示元素;或者,所述电子设备自动向所述打印设备发送所述桌面应用的当前界面的截图。
3.根据权利要求1所述的方法,其特征在于,所述根据所述前台应用的当前界面,所述电子设备自动获取打印内容;包括:在所述当前界面支持打印业务后,确定所述当前界面对应的打印内容,并自动获取所述打印内容;所述打印内容为所述当前界面包括的支持打印的至少一个显示内容。
4.根据权利要求1所述的方法,其特征在于,所述根据所述前台应用的当前界面,所述电子设备自动获取打印内容;包括:在所述当前界面不支持打印业务后,确定所述当前界面的截图为所述打印内容,并自动获取所述打印内容。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
所述电子设备通过所述电子设备运行的打印服务,向所述前台应用发送查询消息;
所述打印服务接收到所述前台应用发送的查询响应;
根据所述查询响应,所述电子设备获取所述打印内容。
6.根据权利要求5所述的方法,其特征在于,在所述查询响应包含所述当前界面中所述显示内容的标识后,所述当前界面支持打印业务,所述标识用于指示所述当前界面包括的支持打印的至少一个显示内容;
在所述查询响应不包含所述当前界面中所述显示内容的标识后,所述当前界面不支持打印业务。
7.根据权利要求6所述的方法,其特征在于,在所述电子设备自动获取打印内容之后,所述方法还包括:所述电子设备提示所述打印内容。
8.根据权利要求7所述的方法,其特征在于,所述电子设备提示所述打印内容;包括:
所述电子设备显示打印内容确认界面。
9.根据权利要求8所述的方法,其特征在于,响应于接收到的用户输入,所述打印内容的全部或部分被选择,并且所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;包括:
所述电子设备接收到第一用户输入;
响应于所述电子设备接收到的所述第一用户输入,所述打印内容的全部或部分被选择;
所述电子设备接收到第二用户输入;
响应于所述电子设备接收到的所述第二用户输入,所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;
其中,所述用户输入包括所述第一用户输入和所述第二用户输入。
10.根据权利要求8所述的方法,其特征在于,响应于接收到的用户输入,所述电子设备自动向所述打印设备发送所述打印内容;包括:
所述电子设备接收到第二用户输入;
响应于所述电子设备接收到的所述第二用户输入,所述电子设备自动向所述打印设备发送所述打印内容;
其中,所述用户输入包括所述第二用户输入。
11.根据权利要求1-4和6-10中任一项所述的方法,其特征在于,所述方法还包括:所述电子设备运行有打印服务和打印模块;
所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;包括:所述电子设备通过所述打印服务、所述打印模块,向所述打印设备发送所述打印内容的全部或部分。
12.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器;
以及计算机程序,其中所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述电子设备执行:
在位于打印设备的一定距离内,所述电子设备检测到打印设备,并与所述打印设备建立通信连接;
在所述电子设备的前台应用为非桌面应用,且属于预设的白名单库后,根据所述前台应用的当前界面,所述电子设备自动获取打印内容;
响应于接收到的用户输入,
所述打印内容的全部或部分被选择,并且所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;或者,所述电子设备自动向所述打印设备发送所述打印内容;
或者,
所述电子设备自动向所述打印设备发送所述打印内容。
13.根据权利要求12所述的电子设备,其特征在于,所述电子设备还执行:
在所述电子设备的前台应用为桌面应用后,响应于接收到的另一用户输入,所述桌面应用的当前界面中支持打印的至少一个显示元素被选择,并且所述电子设备向所述打印设备发送所述被选择的显示元素;或者,所述电子设备自动向所述打印设备发送所述桌面应用的当前界面的截图。
14.根据权利要求12所述的电子设备,其特征在于,所述根据所述前台应用的当前界面,所述电子设备自动获取打印内容;包括:在所述当前界面支持打印业务后,确定所述当前界面对应的打印内容,并自动获取所述打印内容;所述打印内容为所述当前界面包括的支持打印的至少一个显示内容。
15.根据权利要求12所述的电子设备,其特征在于,所述根据所述前台应用的当前界面,所述电子设备自动获取打印内容;包括:在所述当前界面不支持打印业务后,确定所述当前界面的截图为所述打印内容,并自动获取所述打印内容。
16.根据权利要求14或15所述的电子设备,其特征在于,所述电子设备还执行:
所述电子设备通过所述电子设备运行的打印服务,向所述前台应用发送查询消息;
所述打印服务接收到所述前台应用发送的查询响应;
根据所述查询响应,所述电子设备获取所述打印内容。
17.根据权利要求16所述的电子设备,其特征在于,在所述查询响应包含所述当前界面中所述显示内容的标识后,所述当前界面支持打印业务,所述标识用于指示所述当前界面包括的支持打印的至少一个显示内容;
在所述查询响应不包含所述当前界面中所述显示内容的标识后,所述当前界面不支持打印业务。
18.根据权利要求17所述的电子设备,其特征在于,在所述电子设备自动获取打印内容之后,所述电子设备还执行:所述电子设备提示所述打印内容。
19.根据权利要求18所述的电子设备,其特征在于,所述电子设备提示所述打印内容;包括:所述电子设备显示打印内容确认界面。
20.根据权利要求19所述的电子设备,其特征在于,响应于接收到的用户输入,所述打印内容的全部或部分被选择,并且所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;包括:
所述电子设备接收到第一用户输入;
响应于所述电子设备接收到的所述第一用户输入,所述打印内容的全部或部分被选择;
所述电子设备接收到第二用户输入;
响应于所述电子设备接收到的所述第二用户输入,所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;
其中,所述用户输入包括所述第一用户输入和所述第二用户输入。
21.根据权利要求19所述的电子设备,其特征在于,响应于接收到的用户输入,所述电子设备自动向所述打印设备发送所述打印内容;包括:
所述电子设备接收到第二用户输入;
响应于所述电子设备接收到的所述第二用户输入,所述电子设备自动向所述打印设备发送所述打印内容;
其中,所述用户输入包括所述第二用户输入。
22.根据权利要求12-15和17-21中任一项所述的电子设备,其特征在于,所述电子设备还执行:所述电子设备运行有打印服务和打印模块;
所述电子设备向所述打印设备发送被选择的所述打印内容的全部或部分;包括:所述电子设备通过所述打印服务、所述打印模块,向所述打印设备发送所述打印内容的全部或部分。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-11中任意一项所述的方法。
24.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-11中任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485882.5A CN115268802A (zh) | 2021-04-30 | 2021-04-30 | 一种自动打印方法及电子设备 |
PCT/CN2022/085616 WO2022228076A1 (zh) | 2021-04-30 | 2022-04-07 | 一种自动打印方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485882.5A CN115268802A (zh) | 2021-04-30 | 2021-04-30 | 一种自动打印方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115268802A true CN115268802A (zh) | 2022-11-01 |
Family
ID=83744834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110485882.5A Pending CN115268802A (zh) | 2021-04-30 | 2021-04-30 | 一种自动打印方法及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115268802A (zh) |
WO (1) | WO2022228076A1 (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541487A (zh) * | 2011-12-18 | 2012-07-04 | 上海量明科技发展有限公司 | 一种打印截图的方法及系统 |
CN103729153A (zh) * | 2012-10-15 | 2014-04-16 | 金蝶软件(中国)有限公司 | 打印方法和打印装置 |
CN104038661A (zh) * | 2013-03-07 | 2014-09-10 | 兄弟工业株式会社 | 移动终端设备及其方法 |
JP2017204191A (ja) * | 2016-05-12 | 2017-11-16 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及び印刷システム |
CN107578579A (zh) * | 2017-08-08 | 2018-01-12 | 福州汇思博信息技术有限公司 | 一种共享打印设备的方法及pos设备 |
CN108701010A (zh) * | 2016-07-08 | 2018-10-23 | 惠普打印机韩国有限公司 | 移动装置的打印数据处理方法以及移动装置 |
CN108835837A (zh) * | 2018-05-07 | 2018-11-20 | 广州杰赛科技股份有限公司 | 美甲打印方法、设备及计算机可读存储介质 |
US20190114129A1 (en) * | 2017-10-18 | 2019-04-18 | Oki Data Corporation | Operation terminal, program, and printing system |
CN112445433A (zh) * | 2019-08-29 | 2021-03-05 | 钉钉控股(开曼)有限公司 | 文件打印方法、装置、设备和系统 |
-
2021
- 2021-04-30 CN CN202110485882.5A patent/CN115268802A/zh active Pending
-
2022
- 2022-04-07 WO PCT/CN2022/085616 patent/WO2022228076A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541487A (zh) * | 2011-12-18 | 2012-07-04 | 上海量明科技发展有限公司 | 一种打印截图的方法及系统 |
CN103729153A (zh) * | 2012-10-15 | 2014-04-16 | 金蝶软件(中国)有限公司 | 打印方法和打印装置 |
CN104038661A (zh) * | 2013-03-07 | 2014-09-10 | 兄弟工业株式会社 | 移动终端设备及其方法 |
JP2017204191A (ja) * | 2016-05-12 | 2017-11-16 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及び印刷システム |
CN108701010A (zh) * | 2016-07-08 | 2018-10-23 | 惠普打印机韩国有限公司 | 移动装置的打印数据处理方法以及移动装置 |
CN107578579A (zh) * | 2017-08-08 | 2018-01-12 | 福州汇思博信息技术有限公司 | 一种共享打印设备的方法及pos设备 |
US20190114129A1 (en) * | 2017-10-18 | 2019-04-18 | Oki Data Corporation | Operation terminal, program, and printing system |
JP2019074976A (ja) * | 2017-10-18 | 2019-05-16 | 株式会社沖データ | 操作端末、プログラム及び印刷システム |
CN108835837A (zh) * | 2018-05-07 | 2018-11-20 | 广州杰赛科技股份有限公司 | 美甲打印方法、设备及计算机可读存储介质 |
CN112445433A (zh) * | 2019-08-29 | 2021-03-05 | 钉钉控股(开曼)有限公司 | 文件打印方法、装置、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022228076A1 (zh) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112291764B (zh) | 一种内容接续系统 | |
WO2020244495A1 (zh) | 一种投屏显示方法及电子设备 | |
US10103784B2 (en) | Creation and management of near field communications tags | |
WO2021135734A1 (zh) | 应用中传输文件的方法、电子设备及系统 | |
CN116669040A (zh) | 应用功能的实现方法及电子设备 | |
CN115080941B (zh) | 账号登录的方法及电子设备 | |
CN114598414A (zh) | 时间片的配置方法和电子设备 | |
CN114124980A (zh) | 一种启动应用的方法、装置及系统 | |
CN114980048B (zh) | Nfc通信方法、电子设备及系统 | |
WO2023005711A1 (zh) | 一种服务的推荐方法及电子设备 | |
CN115623118A (zh) | 一种近场通信控制方法及电子设备 | |
WO2022228076A1 (zh) | 一种自动打印方法及电子设备 | |
CN113840030B (zh) | 图标的显示方法、电子设备及可读存储介质 | |
WO2023160217A1 (zh) | 检测嵌入式身份识别模块eSIM卡的方法及终端设备 | |
CN116708334B (zh) | 一种通知消息的显示方法及电子设备 | |
CN117119077B (zh) | 一种通信方法和电子设备 | |
CN117061266B (zh) | 智能家居设备的控制方法和控制装置 | |
WO2023071590A1 (zh) | 输入控制方法及电子设备 | |
CN116033592B (zh) | 蜂窝通信功能的使用方法和装置 | |
CN114928899B (zh) | 物理链路的建立方法和电子设备 | |
CN119232778A (zh) | 设备管理方法、电子设备及计算机可读存储介质 | |
WO2023142941A1 (zh) | 播放记录显示方法及相关设备 | |
CN119536666A (zh) | 打印方法和电子设备 | |
CN114666769A (zh) | 一种信息处理方法及相关装置、设备 | |
CN118264709A (zh) | 服务发现方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |