主页 > imtoken新版本 > BTC APP中二维码扫描的实现过程

BTC APP中二维码扫描的实现过程

imtoken新版本 2023-06-29 14:44:51

实施过程

1、创建APP扫码?

在xml文件中写入DecoratedBarcodeView的信息。 DecoratedBarcodeView继承了FrameLayout类,所以可以直接在xml文件中创建页面布局。

融e联客户经理端_btc客户端重扫描_b端客户是什么意思

进入扫描画面后,Android在setContentView方法中实例化DecoratedBarcodeView类,通过构造函数调用如下代码,首先实例化BarcodeView,然后调用Android Camera类的initializeAttributes方法,根据上面xml的值元素初始化相机屏幕,从而创建用于扫描代码的相机屏幕。

b端客户是什么意思_btc客户端重扫描_融e联客户经理端

btc客户端重扫描_融e联客户经理端_b端客户是什么意思

2.初始化扫描控件

在调用相机进行扫描之前,需要进行初始化操作btc客户端重扫描,设置扫描成功时的操作。

通过调用DecoratedBarcodeView的decodeContinuous方法,在barcodeResult方法中,对扫描成功的结果进行处理,app在此处获取设备的MAC地址,可以对设备进行添加和删除操作。

b端客户是什么意思_融e联客户经理端_btc客户端重扫描

b端客户是什么意思_btc客户端重扫描_融e联客户经理端

3.请求相机权限

Android 6.0以上版本,为了更好的保护用户隐私,首次调整摄像头时,需要向用户申请摄像头使用权限。 扫描代码只有在等待用户许可后才能执行。

b端客户是什么意思_融e联客户经理端_btc客户端重扫描

b端客户是什么意思_btc客户端重扫描_融e联客户经理端

4.开始扫描

通过barcode_scanner.resume()方法后btc客户端重扫描,摄像头会开始识别屏幕上的二维码。 首先调用CameraPreview类的resume()方法判断相机是否就绪,然后进行二维码扫描分析。

因为Android主线程只允许UI操作,不能进行耗时操作,所以需要调用startDecoderThread创建一个扫描二维码的线程。

b端客户是什么意思_btc客户端重扫描_融e联客户经理端

b端客户是什么意思_融e联客户经理端_btc客户端重扫描

5. 分析? 二维码

扫描线程扫描完二维码后,扫描线程的Handle会收到数据,然后对二维码图片进行解析。

融e联客户经理端_b端客户是什么意思_btc客户端重扫描

6.解析成功

融e联客户经理端_b端客户是什么意思_btc客户端重扫描

decode()方法中调用了Zxing库中的二维码解析算法。 解析成功后,Message类发送消息给resultHandle处理。 这个Handle就是初始初始化时设置的操作。

在这个操作中,我们可以得到“维码映射”中的MAC地址。

融e联客户经理端_b端客户是什么意思_btc客户端重扫描

流程图

融e联客户经理端_b端客户是什么意思_btc客户端重扫描