费费德勒 2017-03-03 08:29 采纳率: 100%
浏览 1435
已结题

指纹验证 为什么写在Service中就拿不到返回值

if (fingerprintManager.isHardwareDetected()) {

        //判断屏幕锁是否正常。想要使用指纹识别的话,必须首先使能屏幕锁才行,
        KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);

        // this device is secure..
        /* Return whether the keyguard is secured by a PIN, pattern or password or a SIM card
        * is currently locked.*/


        //            if (keyguardManager.isKeyguardSecure()) {

        //6.0中,普通app要想使用指纹识别功能的话,用户必须首先在setting中注册至少一个指纹才行,否则是不能使用的
        if (fingerprintManager.hasEnrolledFingerprints()) {

            // start fingerprint auth here.
            try {
                //                    CryptoObjectHelper cryptoObjectHelper = new CryptoObjectHelper();

                // 创建一个取消信号,初始化时是非取消状态
                if (cancellationSignal == null) {
                    cancellationSignal = new CancellationSignal();

                }

                if (cancellationSignal.isCanceled()) {
                    cancellationSignal = new CancellationSignal();
                }

                //指纹认证回调接口
                myAuthCallback = new MyAuthCallback(context, handler);

                //一直扫描指纹硬件。

                fingerprintManager.authenticate(null, cancellationSignal, 0, myAuthCallback, null);

            } catch (Exception e) {

            }

        }


以上是指纹验证的主要代码,写在Activity中是可以正常验证的,写在Service却拿不到返回值,不知道是什么原因?
  • 写回答

2条回答 默认 最新

  • shen_wei 2017-03-03 09:23
    关注
    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码