Skip to content Skip to sidebar Skip to footer

Biometrics - Fingerprintmanager Xamarin Forms On Android Pie - 9

FingerprintManager#isHardwareDetected() and FingerprintManager#hasEnrolledFingerprints(). Both of which are deprecated in Android 28. What else could I use in order to see if finge

Solution 1:

You can use Plugin.Fingerprint to acheved it in android 9.0. https://www.nuget.org/packages/Plugin.Fingerprint/

There is my GIF of demo(If you first run this project, please make sure you have created fingerprint in you device). enter image description here

Because forms just have one activity, If pushed the auth page, we should achieved ActivityLifecycleCallbacks and FingerprintDialogFragment

Here is code of MainApplication , it need the Plugin.CurrentActivity plugin

    [Application]
publicclassMainApplication : Application, Application.IActivityLifecycleCallbacks
{
    publicMainApplication(IntPtr handle, JniHandleOwnership transer)
      : base(handle, transer)
    {
    }

    publicoverridevoidOnCreate()
    {
        base.OnCreate();
        RegisterActivityLifecycleCallbacks(this);

        CrossFingerprint.SetCurrentActivityResolver(() => CrossCurrentActivity.Current.Activity);

        // uncomment this line to use custom dialog//CrossFingerprint.SetDialogFragmentType<MyCustomDialogFragment>();
    }

    publicoverridevoidOnTerminate()
    {
        base.OnTerminate();
        UnregisterActivityLifecycleCallbacks(this);
    }

    publicvoidOnActivityCreated(Activity activity, Bundle savedInstanceState)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    publicvoidOnActivityDestroyed(Activity activity)
    {
    }

    publicvoidOnActivityPaused(Activity activity)
    {
    }

    publicvoidOnActivityResumed(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    publicvoidOnActivitySaveInstanceState(Activity activity, Bundle outState)
    {
    }

    publicvoidOnActivityStarted(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    publicvoidOnActivityStopped(Activity activity)
    {
    }
}

Here is code of MyCustomDialogFragment

publicclassMyCustomDialogFragment : FingerprintDialogFragment
{
    publicoverridevoidOnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        // Create your fragment here
    }

    publicoverride View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        var view = base.OnCreateView(inflater, container, savedInstanceState);
        view.Background = new ColorDrawable(Color.Blue);
        return view;
    }
}

There is my code of my demo.

https://github.com/851265601/FrigerPrintDemo

Post a Comment for "Biometrics - Fingerprintmanager Xamarin Forms On Android Pie - 9"