一种授权第三方应用调用扫码头的方法及其系统与流程

文档序号:29516445发布日期:2022-04-06 21:27阅读:289来源:国知局
一种授权第三方应用调用扫码头的方法及其系统与流程

1.本发明涉及通信领域,尤其涉及一种授权第三方应用调用扫码头的方法及其系统。


背景技术:

2.随着移动物联网的快速发展,一些行业设备上都配备了专用的扫码头硬件。扫码头硬件一般分为硬解码和软解码,硬解码快速稳定,但是价格相对比较高;而软解码虽然快速稳定可能不如硬解码,但其价格便宜,使用也相当广泛。
3.对于软件解码大多是通过调用camera摄像头的预览实现,扫描功能软件都由rom开发商直接配置好解码操作,然后将结果通过模拟键盘或者广播等形式直接输出。这种操作虽然快捷,但有一个缺陷就是其没法直接预览,而且对现有应用市场中的第三方关于相机的应用兼容性较差。
4.因此,如何解决预览问题以及如何提高对第三方关于相机的应用的兼容性一直以来是业界亟需改进的目标。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种授权第三方应用调用扫码头的方法及其系统,直接授权第三方关于相机的应用apk调用扫码头设备,用户可以任意切换后摄像头和扫码头预览。
6.本发明提出一种授权第三方应用调用扫码头的方法,其中,所述方法包括:
7.预览初始化步骤,根据预览授权初始化摄像头以及初始化解码;
8.预览开始步骤,在摄像头开启预览时,开启扫码头的瞄准灯和补光灯;
9.预览结束步骤,在摄像头关闭预览时,关闭所述扫码头的瞄准灯和补光灯;
10.解码回调步骤,在解码成功之后将解码结果输出;
11.结果显示步骤,在接收到扫描结果之后根据不同设置分别显示。
12.优选的,所述预览初始化步骤包括:
13.对摄像头进行初始化;
14.判断是否开启预览授权;
15.若开启预览授权,则将后摄像头的id值换成扫码头的id值;
16.判断是否开启解码操作;
17.若开启解码操作,则初始化解码。
18.优选的,所述预览初始化步骤还包括:
19.若没有开启预览授权,或者若没有开启解码操作,则结束流程。
20.优选的,所述解码操作包括手动解码操作和自动解码操作,所述预览初始化步骤还包括:
21.若开启所述手动解码操作,则初始化接收广播;
22.若开启所述自动解码操作,则初始化自动解码线程。
23.优选的,所述解码回调步骤包括:
24.通过接收按键事件来判断是否手动解码;
25.如果是手动解码,则执行解码操作;
26.判断解码是否成功;
27.如果解码成功,则发送解码结果。
28.优选的,所述解码回调步骤还包括:
29.通过回调预览数据流来判断是否开启解码;
30.如果开启解码,则执行解码操作。
31.优选的,所述解码回调步骤还包括:
32.如果解码不成功,则继续执行解码操作;
33.在发送解码结果之后,判断是否自动解码;
34.如果是自动解码,则执行解码操作;
35.如果不是自动解码,则结束流程。
36.优选的,所述结果显示步骤包括:
37.在接收到扫描结果之后,判断设置的类型;
38.如果设置为输出到光标处,则将扫描结果输出到光标处;
39.如果设置为系统广播,则将扫描结果根据设置发送广播;
40.如果设置为模拟键盘,则将扫描结果模拟键盘输出到光标位置。
41.另一方面,本发明还提供一种授权第三方应用调用扫码头的系统,其中,所述系统包括:
42.预览初始化模块,用于根据预览授权初始化摄像头以及初始化解码;
43.预览开始模块,用于在摄像头开启预览时,开启扫码头的瞄准灯和补光灯;
44.预览结束模块,用于在摄像头关闭预览时,关闭所述扫码头的瞄准灯和补光灯;
45.解码回调模块,用于在解码成功之后将解码结果输出;
46.结果显示模块,用于在接收到扫描结果之后根据不同设置分别显示。
47.优选的,所述预览初始化模块,用于:
48.对摄像头进行初始化;
49.判断是否开启预览授权;
50.若开启预览授权,则将后摄像头的id值换成扫码头的id值;
51.判断是否开启解码操作;
52.若开启解码操作,则初始化解码。
53.优选的,所述预览初始化模块,还用于:
54.若没有开启预览授权,或者若没有开启解码操作,则结束流程。
55.优选的,所述解码操作包括手动解码操作和自动解码操作,所述预览初始化模块,用于:
56.若开启所述手动解码操作,则初始化接收广播;
57.若开启所述自动解码操作,则初始化自动解码线程。
58.优选的,所述解码回调模块,用于:
59.通过接收按键事件来判断是否手动解码;
60.如果是手动解码,则执行解码操作;
61.判断解码是否成功;
62.如果解码成功,则发送解码结果。
63.优选的,所述解码回调模块,用于:
64.通过回调预览数据流来判断是否开启解码;
65.如果开启解码,则执行解码操作。
66.优选的,所述解码回调模块,还用于:
67.如果解码不成功,则继续执行解码操作;
68.在发送解码结果之后,判断是否自动解码;
69.如果是自动解码,则执行解码操作;
70.如果不是自动解码,则结束流程。
71.优选的,所述结果显示模块,用于:
72.在接收到扫描结果之后,判断设置的类型;
73.如果设置为输出到光标处,则将扫描结果输出到光标处;
74.如果设置为系统广播,则将扫描结果根据设置发送广播;
75.如果设置为模拟键盘,则将扫描结果模拟键盘输出到光标位置。
76.本发明提供的技术方案具有以下优点:可以直接不用适配而直接授权第三方关于相机的应用apk调用扫码头设备,用户可以任意切换后摄像头和扫码头预览;可以提供解码给第三方关于相机的应用使用,而直接返回结果;用户可以自定义扫描结果显示;扫描结果可直接输出到编辑框,节省使用者时间。
附图说明
77.图1为本发明一实施方式中授权第三方应用调用扫码头的方法的流程示意图;
78.图2为本发明一实施方式中授权第三方应用调用扫码头的系统的结构示意图。
具体实施方式
79.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
80.以下将对本发明所提供的一种授权第三方应用调用扫码头的方法进行详细说明。
81.请参阅图1,为本发明一实施方式中授权第三方应用调用扫码头的方法的流程示意图。
82.一般而言,扫码头设备将扫码头功能内置于系统中,对第三方应用直接提供扫码结果,而有些应用已开发完成或在扫码时有调用摄像头预览的需求。而软解码中没法同时调用扫码头和前后摄像头,那么在第三方应用预览时,内置于系统中的扫码功能将会没法施展其作用。为了解决这些问题,本发明通过拦截后摄像头的调用过程,将原本对后摄像头的调用替换为对扫码头的调用,达到授权第三方应用使用扫码头预览的作用。同时可以提供解码算法给第三方应用,通过广播或者直接输出结果的形式配合第三方应用的使用。
83.在步骤s1中,预览初始化步骤,根据预览授权初始化摄像头以及初始化解码。
84.在本实施方式中,所述预览初始化步骤包括:
85.对摄像头进行初始化;
86.判断是否开启预览授权;
87.若开启预览授权,则将后摄像头的id值换成扫码头的id值;
88.判断是否开启解码操作;
89.若开启解码操作,则初始化解码。
90.在本实施方式中,所述预览初始化步骤还包括:
91.若没有开启预览授权,或者若没有开启解码操作,则结束流程。
92.在本实施方式中,解码操作包括手动解码操作和自动解码操作,所述预览初始化步骤还包括:
93.若开启手动解码操作,则初始化接收广播;
94.若开启自动解码操作,则初始化自动解码线程。
95.在本实施方式中,根据包名判断是否为第三方应用,且该应用中是否包含有camera权限或camera、capture等关键词,并将其包名列出显示在列表中。其中,通过系统属性将以上查找的第三方应用的授权状态保存,已备在相机流程调用时候使用。在本实施方式中,在相机的摄像头开启初始化之前,根据列表中的属性判断是否有对扫码头授权,若开启预览授权,则执行对扫码头的切换操作,将后摄像头的id值换成扫码头的id值,并保存全局变量标志当前已替换为扫码头应用。在本实施方式中,在进入应用时,应用会调用系统的后摄像头,根据对摄像头流程的控制完成对扫码头预览操作。
96.在步骤s2中,预览开始步骤,在摄像头开启预览时,开启扫码头的瞄准灯和补光灯。
97.在本实施方式中,在开启预览时候,根据步骤s1设置的标志位设置扫码头需要的属性,并开启扫码头的瞄准灯和补光灯等属性,在设置相机方向时候,根据步骤s1设置的标志位,调整扫码头的方向,保持扫码头在预览时候方向为正。
98.在步骤s3中,预览结束步骤,在摄像头关闭预览时,关闭扫码头的瞄准灯和补光灯。
99.在本实施方式中,在关闭预览时,根据步骤s1设置的标志位,关闭扫码头的瞄准灯和补光灯等属性。
100.在步骤s4中,解码回调步骤,在解码成功之后将解码结果输出。
101.在本实施方式中,设置菜单中开启扫码头的解码操作,解码开启分为自动解码和手动解码两种,根据摄像头图像回调函数,调用扫码头的自动曝光调节参数,对扫码头图片取样的优化。
102.在本实施方式中,所述解码回调步骤包括:
103.通过接收按键事件来判断是否手动解码;
104.如果是手动解码,则执行解码操作;
105.判断解码是否成功;
106.如果解码成功,则发送解码结果。
107.在本实施方式中,所述解码回调步骤还包括:
108.通过回调预览数据流来判断是否开启解码;
109.如果开启解码,则执行解码操作。
110.在本实施方式中,所述解码回调步骤还包括:
111.如果解码不成功,则继续执行解码操作;
112.在发送解码结果之后,判断是否自动解码;
113.如果是自动解码,则执行解码操作;
114.如果不是自动解码,则结束流程。
115.在本实施方式中,在预览回调时候,判断预览和解码开关的状态,如果开启,则执行解码操作。其中,当解码成功时,判断是否为自动解码,如果是自动解码,则延时2秒开启下一次解码操作;当解码失败时候,则超时自动开启下一次解码。在本实施方式中,当解码成功时,判断为手动解码,则完成一次解码后,解码停止,直到接收到解码按钮事件的广播才开启下一次解码操作;解码失败时,则超时自动开启下一次解码。
116.在步骤s5中,结果显示步骤,在接收到扫描结果之后根据不同设置分别显示。
117.在本实施方式中,解码成功后,将解码结果通过广播输出,由上层设置开关处的服务处理扫码结果。
118.在本实施方式中,所述结果显示步骤包括:
119.在接收到扫描结果之后,判断设置的类型;
120.如果设置为输出到光标处,则将扫描结果输出到光标处;
121.如果设置为系统广播,则将扫描结果根据设置发送广播;
122.如果设置为模拟键盘,则将扫描结果模拟键盘输出到光标位置。
123.在本实施方式中,设置菜单中开启解码操作时候,会启动扫码结果的检测,扫码服务的开关的状态会保存到系统中,如果重新开机,会监听开机广播而自动启动。其中,当接收解码处的扫码结果后,主要是通过以下三种方式处理:主要通过输出到光标处、系统广播和模拟键盘三种方法,如下所示。
124.在本实施方式中,(1)设置为输出到光标处:判断是否有编辑框界面,且判断光标的位置,将扫描结果输出到光标处;(2)设置为系统广播:将扫描结果根据设置中的广播方式和数据广播出去,对应使用者可以通过监听广播处理对应的扫描结果;(3)设置为模拟键盘:功能类似于输出到光标处,只是在显示效果上类似手动输出到编辑框。
125.请参阅图2,为本发明一实施方式中授权第三方应用调用扫码头的系统的结构示意图。
126.在本实施方式中,授权第三方应用调用扫码头的系统10包括预览初始化模块11、预览开始模块12、预览结束模块13、解码回调模块14和结果显示模块15。
127.预览初始化模块11,用于根据预览授权初始化摄像头以及初始化解码。
128.在本实施方式中,预览初始化模块11,用于:
129.对摄像头进行初始化;
130.判断是否开启预览授权;
131.若开启预览授权,则将后摄像头的id值换成扫码头的id值;
132.判断是否开启解码操作;
133.若开启解码操作,则初始化解码。
134.在本实施方式中,预览初始化模块11,还用于:
135.若没有开启预览授权,或者若没有开启解码操作,则结束流程。
136.在本实施方式中,解码操作包括手动解码操作和自动解码操作,预览初始化模块11,用于:
137.若开启手动解码操作,则初始化接收广播;
138.若开启自动解码操作,则初始化自动解码线程。
139.预览开始模块12,用于在摄像头开启预览时,开启扫码头的瞄准灯和补光灯。
140.预览结束模块13,用于在摄像头关闭预览时,关闭扫码头的瞄准灯和补光灯。
141.解码回调模块14,用于在解码成功之后将解码结果输出。
142.在本实施方式中,解码回调模块14,用于:
143.通过接收按键事件来判断是否手动解码;
144.如果是手动解码,则执行解码操作;
145.判断解码是否成功;
146.如果解码成功,则发送解码结果。
147.在本实施方式中,解码回调模块14,用于:
148.通过回调预览数据流来判断是否开启解码;
149.如果开启解码,则执行解码操作。
150.在本实施方式中,解码回调模块14,还用于:
151.如果解码不成功,则继续执行解码操作;
152.在发送解码结果之后,判断是否自动解码;
153.如果是自动解码,则执行解码操作;
154.如果不是自动解码,则结束流程。
155.结果显示模块15,用于在接收到扫描结果之后根据不同设置分别显示。
156.在本实施方式中,结果显示模块15,用于:
157.在接收到扫描结果之后,判断设置的类型;
158.如果设置为输出到光标处,则将扫描结果输出到光标处;
159.如果设置为系统广播,则将扫描结果根据设置发送广播;
160.如果设置为模拟键盘,则将扫描结果模拟键盘输出到光标位置。
161.在本实施方式中,系统装置项的详细说明参阅前述图1所示的方法项的详细说明,在此不做重复记载。
162.本发明提供的技术方案具有以下优点:可以直接不用适配而直接授权第三方关于相机的应用apk调用扫码头设备,用户可以任意切换后摄像头和扫码头预览;可以提供解码给第三方关于相机的应用使用,而直接返回结果;用户可以自定义扫描结果显示;扫描结果可直接输出到编辑框,节省使用者时间。
163.值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
164.另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介
质中,的存储介质,如rom/ram、磁盘或光盘等。
165.以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1