生物识别-Android PIE上的FingerprintManager Xamarin表格-9 [英] Biometrics - FingerprintManager Xamarin forms on Android PIE - 9

查看:132
本文介绍了生物识别-Android PIE上的FingerprintManager Xamarin表格-9的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

FingerprintManager#isHardwareDetected()和FingerprintManager#hasEnrolledFingerprints().两者在Android 28中均已弃用. 我还可以使用什么来查看此版本中是否注册了指纹? 我认为这是一个选择.

FingerprintManager#isHardwareDetected() and FingerprintManager#hasEnrolledFingerprints(). Both of which are deprecated in Android 28. What else could I use in order to see if fingerprints are enrolled in this version? I saw this as an option.

KeyguardManager keyguardManager =
                    (KeyguardManager) getSystemService(KEYGUARD_SERVICE);

如果该选项还可以,如何将其转换为xamarin形式,例如()

if that option is ok, how to translate it into xamarin forms for example ()

FingerprintManagerCompat fpm= FingerprintManagerCompat.From(CrossCurrentActivity.Current.Activity);

对此:

推荐答案

您可以在Android 9.0中使用Plugin.Fingerprint来实现它. https://www.nuget.org/packages/Plugin.Fingerprint/

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

有我的演示的GIF文件(如果您第一次运行此项目,请确保已在设备中创建了指纹).

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

因为表单只有一个活动,所以如果推送身份验证页面,我们应该实现ActivityLifecycleCallbacksFingerprintDialogFragment

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

这是 MainApplication 的代码,它需要Plugin.CurrentActivity插件

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

    [Application]
public class MainApplication : Application, Application.IActivityLifecycleCallbacks
{
    public MainApplication(IntPtr handle, JniHandleOwnership transer)
      : base(handle, transer)
    {
    }

    public override void OnCreate()
    {
        base.OnCreate();
        RegisterActivityLifecycleCallbacks(this);

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

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

    public override void OnTerminate()
    {
        base.OnTerminate();
        UnregisterActivityLifecycleCallbacks(this);
    }

    public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityDestroyed(Activity activity)
    {
    }

    public void OnActivityPaused(Activity activity)
    {
    }

    public void OnActivityResumed(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
    {
    }

    public void OnActivityStarted(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityStopped(Activity activity)
    {
    }
}

这是 MyCustomDialogFragment

   public class MyCustomDialogFragment : FingerprintDialogFragment
{
    public override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        // Create your fragment here
    }

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

这是我的演示代码.

https://github.com/851265601/FrigerPrintDemo

这篇关于生物识别-Android PIE上的FingerprintManager Xamarin表格-9的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆