实现Android的指纹身份验证

时间:2016-01-15 09:06:20

标签: android authentication android-6.0-marshmallow fingerprint

我对学习如何开发使用 指纹认证 的Android应用程序非常感兴趣。

如何实施指纹认证?

3 个答案:

答案 0 :(得分:3)

Fingerprint Authentication就是您想要的:

  

此版本提供了新的API,可让您通过使用来验证用户身份   他们的指纹扫描支持的设备,使用这些API   与Android Keystore系统结合使用。

     

要通过指纹扫描对用户进行身份验证,请获取新的实例   FingerprintManager类并调用authenticate()方法。你的应用   必须在带有指纹传感器的兼容设备上运行。您   必须实现指纹认证的用户界面   在您的应用上流动,并使用标准的Android指纹图标   你的用户界面Android指纹图标(c_fp_40px.png)包含在中   指纹对话框示例。如果您正在开发多个应用程序   使用指纹身份验证,请注意每个应用程序必须   单独验证用户的指纹。

     

要在您的应用中使用此功能,请先添加USE_FINGERPRINT   你的清单中的许可。

<uses-permission
        android:name="android.permission.USE_FINGERPRINT" />

要查看指纹身份验证的应用实施,请参阅Fingerprint Dialog sample。有关如何将这些身份验证API与其他Android API结合使用的演示,请参阅视频Fingerprint and Payment APIs

答案 1 :(得分:1)

Xamarin文档Says

  
    

FingerprintManager(及其支持库对应的FingerprintManagerCompat)是使用指纹扫描硬件的主要类。此类是围绕系统级服务的Android SDK包装器,用于管理与硬件本身的交互。它负责启动指纹扫描仪并响应扫描仪的反馈。这个类有一个相当简单的界面,只有三个成员:

         

验证 - 此方法将初始化硬件扫描程序并在后台启动服务,等待用户扫描其指纹。

         

已注册指纹 - 如果用户在设备上注册了一个或多个指纹,则此属性将返回true。

         

HardwareDetected - 此属性用于确定设备是否支持指纹扫描。     Android应用程序使用 FingerprintManager.Authenticate 方法启动指纹扫描程序。以下代码段是如何使用支持库兼容性API调用它的示例:

  
//context is any Android.Content.Context instance, typically the Activity 
FingerprintManagerCompat fingerprintManager = FingerprintManagerCompat.From(context);
fingerprintManager.Authenticate(FingerprintManager.CryptoObject crypto,
                                int flags,
                                CancellationSignal cancel,
                                FingerprintManagerCompat.AuthenticationCallback callback,
                                Handler handler
                               );

请参阅以下开发者资源:
https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html

答案 2 :(得分:0)

如果您想看一下,我为此制作了一个简短的库。以下是如何使用它:

<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
...

FingerprintDialog dialog = new FingerprintDialog(Context);
dialog.show(R.string.title, R.string.message, new FingerprintCallback() {
    @Override
    public void onFingerprintSuccess() {}

    @Override
    public void onFingerprintCancel() {}
});

结果是:

enter image description here

Github链接:https://github.com/omaflak/FingerprintDialog