温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android6.0指纹开发

发布时间:2020-06-07 21:50:05 来源:网络 阅读:843 作者:qiang_guozky 栏目:移动开发

android M指纹的资料太少,经过一段时间阅读原生android代码,写了以下例子,贡献出来给需要帮助的人。

以下内容基于64位的高通CPU,搭载fpc1020芯片,此部分代码在原生android上做了更改,以应付工厂指纹的测试。原生android指纹录入需要采集10次(因不同的芯片而定)。

代码简单说明:

    1.FingerPrintEnrollBase类:

        重要的是 

public interface Listener {

        void onEnrollmentHelp(CharSequence helpString);

        void onEnrollmentError(int errMsgId, CharSequence errString);

        void onEnrollmentProgressChange(int steps, int remaining);

    }

这个接口。

        1)onEnrollmentHelp函数:是下层返回的指纹操作帮助信息。

        2)onEnrollmentError函数是下层返回的错误信息,errMsgId是错误信息类型,其中1表示指纹硬件不可用,3表示超时,5表示操作已取消。errString是errMsgId对应的文字信息,有需要的自己实验就知道了。

        3)onEnrollmentProgressChange()函数是显示当前指纹的采集情况,steps:总共需要录入多少次;remaining是剩余多少次,我在此函数中有打印Log。


附件zip包中的FingerPrintActivity是主Activity类,FingerPrintEnrollBase是指纹Base类。

需要特别说明的是,在FingerPrintEnrollBase类中有一句:private byte[] mToken = new byte[69];这个数组正常情况是通过输入密码后经由framework层向hal层申请的,我这里为了省去验证那一块的代码,通过sizeof(hw_auth_token_t)计算出来的为69,需要的请依此计算。我在代码里实验过,此数组如果不是69(在64位CPU上),将直接导致程序crach!


附件图片是fpc指纹的采集流程,仅作为参考。有需要selftest或checkboard test的请邮件我。

附件:http://down.51cto.com/data/2367765
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI