zoukankan      html  css  js  c++  java
  • Android Q指纹录入流程

    Android Q 指纹录入流程

    // Enroll finger Schedule:
        // package/apps/Settings
        // FingerprintEnrollIntroduction extends BiometricEnrollIntroduction
        onNextButtonClick( # launchNextEnrollingActivity(mToken);
            // FingerprintEnrollFindSensor#
            startLookingForFingerprint()
               // FingerprintEnrollEnrolling extens BiometricsEnrollEnrolling
               startEnrollment() # mSidecar.setListener(this);
                   // BiometricEnrollSidecar#onStart()
                   startEnrollment()
                   // FingerprintEnrollSidecar
                       startEnrollment()
                           // FingerprintManager
                           mFingerprintManager.enroll(mToken, mEnrollmentCancel,0 /* flags */, mUserId, mEnrollmentCallback);
                               // FingerprintService
                               enroll(final IBinder token, final byte[] cryptoToken, final int userId,
                                   enrollInternal(
                                       startClient(client, true /* initiatedByClient */);
                                            startCurrentClient(mCurrentClient.getCookie());
                                                mCurrentClient.start();
                                                // EnrollClient
                                                final int result = getDaemonWrapper().enroll(mCryptoToken, getGroupId(), timeout,disabledFeatures);
                                                    // FingerprintService
                                                    IBiometricsFingerprint daemon = getFingerprintDaemon();
                                                        public void onEnrollResult(final long deviceId, final int fingerId, final int groupId,
                                                            FingerprintService.super.handleEnrollResult(fingerprint, remaining);
                                                                client.onEnrollResult(identifier, remaining)
                                                                    // EnrollClient
                                                                    mBiometricUtils.addBiometricForUser(getContext(), getTargetUserId(), identifier);
                                                                        // FingerprintUtils
                                                                        getStateForUser(context, userId).addBiometric(identifier);
                                                                        // FingerprintUserState
                                                                        super.addBiometric(identifier);
                                                                        // BiometricUserState
                                                                        scheduleWriteStateLocked()
                                                                        // FingerprintUserState
                                                                            doWriteState()
                                                                            destination.finishWrite(out);
                                                                            File(Environment.getUserSystemDirectory(userId), getBiometricFile());
    
  • 相关阅读:
    Asp.net MVC Web.config配置技巧
    MySQL删除表的三种方式
    MySQL中count(字段) ,count(主键 id) ,count(1)和count(*)的区别
    Centos7部署k8s集群及应用
    composer更新指定包||composer 常用命令
    LVS负载均衡策略的部署与应用
    MySQL复制表的三种方式
    Centos7部署Nginx负载均衡Tomcat服务器及session共享架构
    企业级Nginx负载均衡与keepalived高可用实战视频教程
    CentOS下用于查看系统当前登录用户信息的4种方法
  • 原文地址:https://www.cnblogs.com/AleiCui/p/12810770.html
Copyright © 2011-2022 走看看