1、无线蓝牙指纹采集网络身份认证软件开发SDK 技术手册WWW.ONFINGERKEY.COMRevision HistoryVersion/DateDescriptionAuthorV0.1/20111017First draftV0.2/201112131. 新增message2. 原来Enroll()及Identify(), 以AdvancedEnroll.java及Identify.java取代, 主原因是原来的UI是dialog class, 新的UI是activity class, 而activity class的UI控制上较好, 而且如果客制化时, 可以参考原有的code, 而另新增
2、一个客制化activity class, 不需要修改原来的code3. 新API的Enroll()及Identify()是无UI4. 修改initial()成bind()5. 修改final()成unbind()6. connect()改成connectDevice()7. disconnect改成disconnectDevice()8. 新增setDeviceAddress()9. 依修改后的API, 调整sample codeTable of ContentsRevision History 2Table of Contents 31 特性说明 71.1 72 架构说明 82.1 架构图
3、82.2 Yu-Key BT device 82.3 Yu-Key USB device 82.4 Yu-Key Service 82.5 Enroll/Identify API 92.6 Local AP 92.7 Cloud Computing AP 92.8 Server AP 92.9 Yu-Key Cloud 93 简易流程说明 103.1 本机指纹注册简易流程(使用Yu-Key USB device) 103.2 本机指纹识别简易流程(使用Yu-Key USB device) 113.3 本机指纹注册简易流程(使用Yu-Key BT device) 123.4 本机指纹识别简易流程
4、(使用Yu-Key BT device) 134 YuKeyLib 功能说明 144.1 YuKeyLib(Context context, Handler handler) 144.1.1 功能说明: 144.1.2 参数说明: 144.1.3 回复值: 154.2 void bind() 154.2.1 功能说明: 154.2.2 参数说明: 154.2.3 回复值: 154.2.4 注意事项: 154.3 void unbind() 154.3.1 功能说明: 154.3.2 参数说明: 154.3.3 回复值: 154.4 boolean connectDevice() 154.4.1
5、 功能说明: 154.4.2 参数说明: 154.4.3 回复值: 154.4.4 Message回复: 154.5 boolean disconnectDevice() 164.5.1 功能说明: 164.5.2 参数说明: 164.5.3 回复值: 164.5.4 Message回复: 164.6 Identify.java 164.6.1 功能说明: 164.6.2 使用说明: 164.6.3 参数说明: 164.6.4 回复值: 164.6.5 Message回复: 164.6.6 注意事项: 174.7 Identify() 174.7.1 功能说明: 174.7.2 参数说明: 1
6、74.7.3 回复值: 174.7.4 Message回复: 174.7.5 注意事项: 174.8 AdvancedEnroll.java 174.8.1 使用说明: 184.8.2 参数说明: 184.8.3 Message回复: 184.9 enroll(String uid) 184.9.1 参数说明: 194.9.2 回复值: 194.9.3 Message回复: 194.9.4 注意事项: 194.10 deleteFeature(String uid) 194.10.1 功能说明: 194.10.2 参数说明: 194.10.3 回复值: 194.10.4 Message回复:
7、194.10.5 注意事项: 194.11 abort() 194.11.1 功能说明: 194.11.2 参数说明: 204.11.3 回复值: 204.11.4 Message回复: 204.12 setDeviceAddress (String address) 204.12.1 功能说明: 204.12.2 参数说明: 204.12.3 回复值: 204.13 String getDeviceAddress() 204.13.1 功能说明: 204.13.2 参数说明: 204.13.3 回复值: 204.14 String getMatchedUserID() 204.14.2 参数
8、说明: 204.14.3 回复值: 204.15 boolean setDeviceType(int deviceType) 204.15.1 功能说明: 204.15.2 参数说明: 214.15.3 回复值: 215 使用YuKeyLib 225.1 以YuKey BT Device为例 225.1.1 创建YuKeyLib: 225.1.2 YuKeyLib初始化: 225.1.3 设定Device Type: 225.1.4 设定Device Address: 225.1.5 连接YuKey BT Device 225.1.6 本机指纹注册 235.1.7 本机指纹识别 245.1.8
9、 结束YuKeyLib 245.2 以YuKey USB Device为例 241 特性说明 支持Android作业平台 SDK跨指纹设备兼容,不论是USB或是Bluetooth,一次开发完全兼容 提供设备端比对与云端比对两种版本,功能可以随时扩充 SDK已经提供完整指纹注册、比对功能,无需重新开发指纹功能,集成迅速简单 指纹用户接口的源代码完全开放,可以自行设计用户接口 高效能指纹比对核心,云端比对达每秒100,000枚指纹以上 可依需求客制化其他功能1.1 2 架构说明2.1 架构图2.2 Yu-Key BT device该device为一个embedded device, 本身提供指纹图
10、像撷取, 产生注册用及验证用的指纹特征值, 而且可以比对指纹及储存注册的指纹特征该device透过Bluetooth取得Yu-Key Service的指令, 并将结果回传给Yu-Key Service2.3 Yu-Key USB device该device只提供指纹图像撷取, 透过USB接口传送指纹图像给Yu-Key Service, 由Yu-Key Service 产生注册用及验证用的指纹特征值, 且可以比对指纹及储存注册的指纹特征2.4 Yu-Key Service该Service 是一个remote process,由Enroll/Identify API透过IPC呼叫, 主要功能为连接
11、不同指纹device, 如果连接为Yu-Key USB device则会实作产生注册用及验证用的指纹特征值, 比对指纹及储存注册的指纹特征等功能2.5 Enroll/Identify API该API为一个java class, 主要提供enroll / identify 的function call, 另与Service 沟通的IPC及用户接口皆已封装在对象内, 所以开发者可以使用简易function call达到完整的注册及验证的功能而且此class的code是open, 所以开发者可以客制化流程及用户接口2.6 Local AP由开发者撰写有关需要Local Host指纹比对的应用程序,直
12、接呼叫enroll / identify 的function call2.7 Cloud Computing Local AP由开发者撰写有关Server端指纹比对的Local应用程序,直接呼叫enroll / identify 的function call取得注册指纹/验证指纹, 经由HTTP将数据传送到Server AP, 由Server AP要求YuCloud作指纹注册/指纹比对2.8 Server AP由开发者撰写有关Server端指纹比对的Server应用程序, 取得由Cloud Computing Local AP 传送的注册指纹/验证指纹, 经由HTTP要求Yu-Key Clou
13、d作指纹注册/指纹比对2.9 YuCloud提供的云端高效能指纹比对Server3 简易流程说明3.1 本机指纹注册简易流程(使用Yu-Key USB device)3.2 本机指纹识别简易流程(使用Yu-Key USB device)3.3 本机指纹注册简易流程(使用Yu-Key BT device)3.4 本机指纹识别简易流程(使用Yu-Key BT device)4 YuKeyLib 功能说明4.1 YuKeyLib(Context context, Handler handler)4.1.1 功能说明:建构方法, 呼叫时间点以Activity为例, 是在onCreate()呼叫4.1.
14、2 参数说明:context: 通常是一个Activity的contexthandler: 希望接收YuKeyLib传送的message, 此handler需要处理以下的messageYuKeyLib.DEV_STATE_CHANGEYuKeyLib.DEV_STATE_DISCONNECTEDYuKeyLib.DEV_STATE_CONNECTINGYuKeyLib.DEV_STATE_CONNECTEDYuKeyLib.FP_RESULTYuKeyLib.FP_RESULT_ENROLL_OK:YuKeyLib.FP_RES_ENROLL_FAIL:YuKeyLib.FP_RES_MATC
15、HED_OK:YuKeyLib.FP_RES_MATCHED_FAIL:YuKeyLib.FP_RES_DELETE_OK:YuKeyLib.FP_RES_DELETE_FAIL:YuKeyLib.FP_RES_ABORT_OK:YuKeyLib.FP_RES_GETTING_IMAGE:YuKeyLib.FP_RES_GETTED_IMAGE:YuKeyLib.FP_RES_EXTRACTING_FEATURE:YuKeyLib.FP_RES_GETTED_GOOD_IMAGE:YuKeyLib.FP_RES_GETTED_BAD_IMAGE:YuKeyLib.FP_RES_ENROLL_C
16、OUNT:YuKeyLib.FP_RES_ABORT_FAIL:YuKeyLib.FP_RES_GETTED_IMAGE_TOO_SHORT:YuKeyLib.FP_RES_LOOP_TIMEOUT:YuKeyLib.FP_RES_ABORT_FAIL:YuKeyLib.FP_RES_NOT_CONNECTED:YuKeyLib.FP_RES_GETTED_IMAGE_FAILYuKeyLib.FP_RES_GET_FEATURE:YuKeyLib.FP_RES_FINGER_LIST:YuKeyLib.SERVICE_STATE:YuKeyLib.SERVICE_CONNECTED:YuKe
17、yLib.SERVICE_DISCONNECTED:4.1.3 回复值:N/A4.2 void bind()4.2.1 功能说明:作初始化, 主要是与YuKey Service作IPC连接, 呼叫时间点以Activity为例, 是在onStart()呼叫4.2.2 参数说明:N/A4.2.3 回复值:N/A4.2.4 注意事项:须确定收到YuKeyLib.SERVICE_CONNECTED的message后, 才能呼叫其他功能4.3 void unbind()4.3.1 功能说明:结束与YuKey Service连接, 呼叫时间点以Activity为例, 是在onStop()呼叫4.3.2 参
18、数说明:N/A4.3.3 回复值:N/A4.4 boolean connectDevice()4.4.1 功能说明:指纹机连接, 如果为Yu-Key BT device则是Bluetooth连接, 需要2秒的连接4.4.2 参数说明:N/A4.4.3 回复值:True: 开始连接False: 启动连接的动作失败4.4.4 Message回复:YuKeyLib.DEV_STATE_CHANGE: 指纹机状态改变YuKeyLib.DEV_STATE_CONNECTED: 指纹机连接成功YuKeyLib.DEV_STATE_DISCONNECTED: 指纹机断线YuKeyLib.DEV_STATE_
19、CONNECTING: 指纹机连接中4.5 boolean disconnectDevice()4.5.1 功能说明:强制指纹机断线, 如果为Yu-Key BT device则是Bluetooth断线4.5.2 参数说明:N/A4.5.3 回复值:True: 开始断线False: 启动断线的动作失败4.5.4 Message回复:N/A4.6 Identify.java4.6.1 功能说明:本地指纹识别/擷取指紋識別特徵, 会展现UI, 此对象是Activity对象4.6.2 使用说明:a. 此对象需使用startActivityForResult()方式呼叫, a. 本地指纹识别Intent
20、 intent = new Intent(); intent.setClass(getApplicationContext(), Identify.class); startActivityForResult(intent, REQ_IDENTIFY);b. 远程指纹识别Intent intent = new Intent();intent.setClass(getApplicationContext(), dentify.class);Bundle bundle = new Bundle();bundle.putInt(Identify.BUND_CMD_KEY, Identify.BUND
21、_CMD_CAP_VERIFY_FEA);bundle.putString(Identify.BUND_SERVER_IP, mServerIP);bundle.putString(AdvancedEnroll.BUND_SERVER_PORT, mServerPort);bundle.putString(UserID, mUserID);intent.putExtras(bundle);startActivityForResult(intent, REQ_VERIFY); b.细节使用请看YuKeyTool.java/YuKeyCloud.java 4.6.3 参数说明:N/A4.6.4 回
22、复值:N/A4.6.5 Message回复:YuKeyLib.FP_RESULT: 指纹相关方法的结果YuKeyLib.FP_RES_MATCHED_OK: 比对成功YuKeyLib.FP_RES_MATCHED_FAIL: 比对失败YuKeyLib.ACT_RES_DO_ABORT: 使用者取消操作YuKeyLib.ACT_RES_DEV_DISCONNECTED: 指纹机断线EX:case REQ_IDENTIFY:if (resultCode = YuKeyLib.ACT_RES_MATCHED_OK).else if (resultCode = YuKeyLib.ACT_RES_MAT
23、CHED_FAIL)else if (resultCode = YuKeyLib.ACT_RES_DO_ABORT) . else if (resultCode = KeyLib.ACT_RES_DEV_DISCONNECTED) . 4.6.6 注意事项:1. 如果识别成功, 可从getMatchedUserID()取得比对成功的User ID及Finger ID4.7 Identify()4.7.1 功能说明:本地指纹识别, 不产生UI4.7.2 参数说明:N/A4.7.3 回复值:True: 开始识别False: 启动识别的动作失败4.7.4 Message回复:YuKeyLib.FP_
24、RESULT: 指纹相关方法的结果YuKeyLib.FP_RES_MATCHED_OK: 比对成功YuKeyLib.FP_RES_MATCHED_FAIL: 比对失败4.7.5 注意事项:1. 此功能可以使用Identify.java的物件达成2. 如果识别成功, 可从getMatchedUserID()取得比对成功的User ID及Finger ID4.8 captureVerifyFeature()4.8.1 功能说明:截取指纹识别特征, 作为远程辨识之用, 不产生UI4.8.2 参数说明:N/A4.8.3 回复值:True: 开始撷取False: 撷取的动作失败4.8.4 Message
25、回复:YuKeyLib. FP_RES_BLOB: 撷取指纹特征成功4.8.5 注意事项:3. 此功能可以使用Identify.java的物件达成4.9 AdvancedEnroll.java 本地指纹注册及删除, 会展现UI, 此对象是Activity对象4.9.1 使用说明:a. 此对象需使用startActivityForResult()方式呼叫a. 本地指纹注册Intent intent = new Intent(); intent.setClass(getApplicationContext(), AdvancedEnroll.class); Bundle bundle = new
26、Bundle(); bundle.putString(UserID, mUserID); bundle.putInt(AdvancedEnroll.BUND_CMD_KEY, AdvancedEnroll.BUND_CMD_LOCAL_ENROLL); intent.putExtras(bundle); startActivityForResult(intent, REQ_ADVANCED_ENROLL);b. 撷取注册指纹特征 Intent intent = new Intent(); intent.setClass(getApplicationContext(), AdvancedEnro
27、ll.class); Bundle bundle = new Bundle(); bundle.putString(UserID, mUserID); bundle.putInt(AdvancedEnroll.BUND_CMD_KEY, AdvancedEnroll.BUND_CMD_CAP_ENROLL_FEA); bundle.putString(AdvancedEnroll.BUND_SERVER_IP, mServerIP); bundle.putString(AdvancedEnroll.BUND_SERVER_PORT, mServerPort); intent.putExtras
28、(bundle); startActivityForResult(intent, REQ_ADVANCED_ENROLL); b.细节使用请看YuKeyTool.java / YuKeyCloud.java4.9.2 参数说明:a. 使用putExtras()方式传送参数b. UserID : 注册的User IDEx: Bundle bundle = new Bundle();bundle.putString(UserID, mUserID);intent.putExtras(bundle);c. BUND_CMD_KEY: BUND_CMD_CAP_ENROLL_FEA: 要求截取注册指纹
29、特征BUND_CMD_LOCAL_ENROLL: 要求本机注册d. BUND_SERVER_IP: YuServer IP addresse. BUND_SERVER_PORT: YuServer Port4.9.3 Message回复:YuKeyLib.ACT_RES_DO_ABORT: 使用者取消操作YuKeyLib.ACT_RES_DEV_DISCONNECTED: 指纹机断线EX:case REQ_ADVANCED_ENROLL:if (resultCode = YuKeyLib.ACT_RES_DO_ABORT)& (mFpDevType = YuKeyLib.YUKEY_DEVIC
30、E) mProgressDialog = ProgressDialog.show(YuKeyTool.this, , Please wait for abort process., true); else if (resultCode = YuKeyLib.ACT_RES_DEV_DISCONNECTED) setConnectStatus(YuKeyLib.DEV_STATE_DISCONNECTED); .4.10 enroll(String uid)本地指纹注册, 不产生UI4.10.1 参数说明:uid : User ID+”_”+Finger ID, Ex: TEST_L1L1:左手拇指, L2: 左手食指, L3:左手中指, L4:左手无名指, L
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1