2016-08-09 7 views
0

지문을 사용하여 사용자를 인증하는 애플리케이션이 있다고 가정 해 보겠습니다. Android 5에서 Samsung Spass 라이브러리는 삼성 기기에만 사용되었습니다. Android M 릴리스에서는 여러 기기에 지원을 추가합니다. 나는 안드로이드가 있는지 확인하는 폴백 여기에 실패하면Android 지문 API - Samsung Spass에서 마이 그 레이션

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
     FingerprintManager manager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE); 
     if (manager != null) { 
      logger.info("Android native fingerprint manager exists"); 
      if (manager.isHardwareDetected()) { 
       logger.info("Android native fingerprint manager detected hardware"); 
       if (manager.hasEnrolledFingerprints()) { 
        logger.info("Android native fingerprint manager has enrolled fingerprints"); 
       } 
      } 
      return new AndroidFingerprintHelper(context); 
     } 
    } 

: 나는 하드웨어가있는 경우 나, 관리자의 인스턴스가 내가 지문을 등록한 경우 다음 경우, 안드로이드 M 해요 경우 우선 내가 확인 삼성과 Spass 라이브러리가 설치되어 있습니다. 이제 문제는 사용자가 삼성에서 Spass로 롤리팝을 가지고 있고 지문을 등록한 경우입니다. 그 후 그는 새로운 지문을 등록하지 않고 Android M 으로 업그레이드했습니다. manager.hasEnrolledFingerprints()이 사실입니까? 즉, Samsung Spass 도서관은 Android OS와 데이터를 공유합니까? 감사. 연구와 실험의 많은이 사실을 발견했습니다 나는 잘 후에

답변

1

: 안드로이드 M 삼성에 지문이 manager.isHardwareDetected() 전화를 시도, 즉, SPass 라이브러리 (삼성 네이티브 SDK)를 사용하여 등록 된 경우 FingerPrintManager 것이다 결코 null하지만 것 Native Android FingerPrint Manager에 대해 false를 반환합니다.