나는 꽤 오랫동안이 작업을 해왔으며, 비교적 쉽다는 생각에도 불구하고 그것을 이해할 수는 없다. 나는 지문을 통해 사용자를 인증하기 위해 안드로이드의 FingerprintManager를 사용하고 있으며 매우 효과적이다. 문제는 필자의 도우미 클래스에서 인증 결과를 다시 얻을 수 없으며 매우 실망 스럽습니다. 나는 도우미 클래스를 사용하는 것에 익숙하지 않고 광범위하게 인터넷 검색을 한 후에도 인증 결과를 다시 내 활동으로 가져올 수 없다. 내 최선의 희망은 onActivityResult를 사용하여 의도를 사용하는 것이었지만 도우미 클래스는 의도를 보내지 않습니다 (또는 적어도 내 주요 활동은 그것을받지 못합니다).이전 활동에서 지문 인증 결과를 얻는 방법?
참고로 본인의 주 클래스는 .AuthenticationCallback을 확장 한 헬퍼 클래스를 사용하여 지문을 확인하는 활동입니다. 도우미 클래스는 다음과 같은 방법을 포함
public void startAuth(FingerprintManager manager, FingerprintManager.CryptoObject cryptoObject) {
cancellationSignal = new CancellationSignal();
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) {
return;
}
manager.authenticate(cryptoObject, cancellationSignal, 0, this, null);
}
@Override
public void onAuthenticationError(int errMsgId, CharSequence errString) {
}
@Override
public void onAuthenticationFailed() {
}
@Override
public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
}
@Override
public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) {
Toast.makeText(context, "You have Been Successfully authenticated!", Toast.LENGTH_SHORT).show();
}
활동에서의 코드는 단순히 의도를 전송하고 onActivityResult를 방법이 있습니다
Intent btauthenticate = new Intent(getApplicationContext(), FingerPrintMainActivity.class);
startActivityForResult(authenticate, 1);
지문이 성공적으로 인증을하고 내 토스트 메시지가, 그러나 나는 결과를 다시 얻는 방법을 모른다. 나는 결과를 되돌릴 수있는 쉬운 방법이 있어야한다고 생각하지만, 나는 그것을 알아낼 수 없을뿐 아니라 매우 실망 스럽다. 어떤 도움이라도 대단히 감사합니다.
콜백 매개 변수를 사용하십시오. 'result.getAnyUsefulInfo()' –
@MartinPfeffer 응답 해 주셔서 감사합니다. 그러나 나는 그것을 사용하는 방법에 대해 확신하지 못한다. getAnyUsefulInfo()가 정의되지 않았다고합니다. 이 콜백 매개 변수를 검색하려고했지만 문서를 찾지 못했습니다. 링크, 참조 또는 예제 코드가 있습니까? – steven
https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#authenticate(android.hardware.fingerprint.FingerprintManager.CryptoObject, android.os.CancellationSignal, int, android.hardware.fingerprint.FingerprintManager .AuthenticationCallback, android.os.처리기) –