在flex页面使用指纹仪前提是先做好相关的配置,具体的配置见前一篇文档:中控指纹windows xp配置文档,由于Flex页面无法直接和指纹仪提供的API通信,我们只有通过js去实现两者之间的桥梁,找到flex项目下面的index.template.html,所有Flex页面的入口都是该页面,在该页面加入加入调用指纹仪的接口js方法:代码入下
<script language="JavaScript" type="text/javascript"> var op = ""; function prepareDev(sign) { op = sign try { bio.InitEngine(); bio.BeginCapture(); }catch(e) {} } function EndDev(){ try { bio.EndEngine(); }catch(e) {} } </script> <script type="text/javascript" for="bio" event="OnCapture(result,template)"> if(result == true) { var fingerStr = bio.GetTemplateAsString(); if(op=="Login"||op=="Author"){ ${application}.callActionScript(fingerStr); } } </script> <OBJECT classid="clsid:CA69969C-2F27-41D3-954D-A48B941C3BA7" id="bio" ></OBJECT>
通过flex页面调用js去捕获指纹信息
在flex页面的初始化方法中加上下面代码:
private function initInfor():void { ExternalInterface.addCallback("callActionScript", asFunctionByJs); ExternalInterface.call("prepareDev","Login"); }
private function asFunctionByJs(fingerInfo: String): void{ pwd.text = fingerInfo; }
需要导入的包import flash.external.*;