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).
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.
Post a Comment for "Biometrics - Fingerprintmanager Xamarin Forms On Android Pie - 9"