Vyhledávání otisků prstů

Teď, když jsme viděli, jak připravit aplikaci Xamarin.Android na použití ověřování otiskem prstu, se vraťme k metodě a probereme její místo v ověřování otiskem prstu FingerprintManager.Authenticate v Androidu 6.0. Rychlý přehled pracovního postupu pro ověřování pomocí otisků prstů je popsaný v tomto seznamu:

  1. Vyvolání FingerprintManager.Authenticate , předání instance a CryptoObjectFingerprintManager.AuthenticationCallback . Slouží k zajištění, že s výsledkem ověření CryptoObject otiskem prstu nebylo manipulováno.
  2. Podtřída třídy FingerprintManager.AuthenticationCallback Instance této třídy bude poskytnuta při spuštění ověřování FingerprintManager otiskem prstu. Po dokončení skeneru otisků prstů vyvolá jednu z metod zpětného volání v této třídě.
  3. Napište kód pro aktualizaci uživatelského rozhraní, aby uživatel věděl, že zařízení zahájilo skener otisků prstů a čeká na interakci uživatele.
  4. Když je skener otisků prstů hotový, Android vrátí do aplikace výsledky vyvoláním metody v instanci, která byla poskytnuta FingerprintManager.AuthenticationCallback v předchozím kroku.
  5. Aplikace bude informovat uživatele o výsledcích ověřování pomocí otisku prstu a podle potřeby bude reagovat na výsledky.

Následující fragment kódu je příkladem metody v aktivitě, která začne s prohledáváním otisků prstů:

protected void FingerPrintAuthenticationExample()
{
    const int flags = 0; /* always zero (0) */

    // CryptoObjectHelper is described in the previous section.
    CryptoObjectHelper cryptoHelper = new CryptoObjectHelper();    
    
    // cancellationSignal can be used to manually stop the fingerprint scanner. 
    cancellationSignal = new Android.Support.V4.OS.CancellationSignal();
    
    FingerprintManagerCompat fingerprintManager = FingerprintManagerCompat.From(this);
    
    // AuthenticationCallback is a base class that will be covered later on in this guide.
    FingerprintManagerCompat.AuthenticationCallback authenticationCallback = new MyAuthCallbackSample(this);

    // Start the fingerprint scanner.
    fingerprintManager.Authenticate(cryptoHelper.BuildCryptoObject(), flags, cancellationSignal, authenticationCallback, null);
}

Podívejme se na každý z těchto parametrů v Authenticate metodě podrobněji:

  • Prvním parametrem je kryptografické objekty, které skener otisků prstů použije k ověření výsledků skenování otisků prstů. Tento objekt může být , v takovém případě musí aplikace slepě důvěřovat tomu, že s výsledky otisku prstu nic nebylo null manipulováno. Doporučuje se vytvořit instanci a CryptoObject poskytnuta pro FingerprintManager místo hodnoty null. Vytvoření objektu CryptObject podrobně vysvětluje, jak vytvořit instanci na základě objektu Cipher .
  • Druhý parametr je vždy nula. Dokumentace k Androidu ho identifikuje jako sadu příznaků a nejpravděpodobněji je vyhrazená pro budoucí použití.
  • Třetí parametr je objekt, který slouží k vypnutí skeneru otisků prstů cancellationSignal a zrušení aktuálního požadavku. Jedná se o Android CancellationSignala ne typ z rozhraní .NET Framework.
  • Čtvrtý parametr je povinný a je to třída, která podtřídu AuthenticationCallback abstraktní třídy. Metody v této třídě budou vyvolány, aby signalizovány klientům po dokončení a FingerprintManager výsledky. Vzhledem k tomu, že existuje spousta věcí, které je třeba pochopit o implementaci , bude prokryta ve vlastní AuthenticationCallbackAuthenticationCallback.
  • Pátý parametr je volitelná Handler instance. Pokud je zadaný objekt , použije objekt z tohoto objektu při zpracování zpráv HandlerFingerprintManager z hardwaru Looper otisku prstu. Obvykle nemusí poskytovat objekt , správce otisků prstů použije z HandlerLooper aplikace .

Zrušení kontroly otisků prstů

Může být nutné, aby uživatel (nebo aplikace) po zahájení kontroly otiskem prstu zrušil kontrolu otisku prstu. V této situaci vyvolat metodu pro , která byla poskytnuta při vyvolání ke spuštění IsCancelledCancellationSignal skenování FingerprintManager.Authenticate otisku prstu.

Když jsme teď metodu viděli, podívejme se podrobněji na některé Authenticate důležitější parametry. Nejprve se podíváme na reagování na zpětná volání ověřování,která probereme, jak podtřídu FingerprintManager.AuthenticationCallback,která aplikaci pro Android umožňuje reagovat na výsledky poskytované skenerem otisků prstů.