首页 > 解决方案 > React native Android Native Modules - MantraMFS100 指纹读取器

问题描述

请帮帮我。如果有任何替代方法可以将 FingerPrint ISOTemplate 存储到服务器数据库或作为文件以进一步匹配,请向我提出任何建议。

我正在尝试开发生物识别考勤应用程序。我有一个 USB 设备 Mantra MFS 100 和 .jar sdk。我正在尝试将 android 本机模块集成到 React Native 中,以通过外部 API 访问和上传指纹数据,以便从任何设备访问和匹配。

目前我能够连接设备,获取设备信息并显示指纹图像。但问题是,当我试图将 ISOTemplage 作为行文件应用程序接近时。

//Android Module
@ReactMethod
    private void StartAsyncCapture(Promise promise) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                isCaptureRunning = true;
                try {
                    FingerData fingerData = new FingerData();
                    final int ret = mfs100.AutoCapture(fingerData, timeout,false);
                    if (ret != 0) {
                        UiThreadUtil.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(getReactApplicationContext(),mfs100.GetErrorMsg(ret),Toast.LENGTH_LONG).show();
                            }
                        });
                    } else {
                        lastCapFingerData = fingerData;
                        UiThreadUtil.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(getReactApplicationContext(),"Capture Success",Toast.LENGTH_LONG).show();
                                
                            }
                        });
promise.resolve(fingerData.ISOTemplate());
                    }
                } catch (Exception ex) {
                    promise.reject("Mantra100Module", ex);
                } finally {
                    isCaptureRunning = false;
                }
            }
        }).start();
    }


//Get native module file.

const handleFingureScan = async () => {
        try {
            const fingureData = await Mantra100Module.StartAsyncCapture();
            setFpISOTemplate(fingureData);
        } catch (err) {
            console.log(err);
        }
    }

标签: androidreact-nativeandroid-studiokotlinreact-native-bridge

解决方案


推荐阅读