首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android中检查指纹认证的设备兼容性

如何在android中检查指纹认证的设备兼容性
EN

Stack Overflow用户
提问于 2015-12-22 06:48:39
回答 4查看 28.1K关注 0票数 40

我正在使用Android6.0API进行手指指纹认证。我的要求是,如果当前设备支持指纹身份验证,那么我将通过指纹认证,否则将使用正常方式登录应用程序。

所以,任何人都可以告诉我,如何检查设备兼容性,以便在android中进行指纹认证。

提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-12-22 13:36:30

您必须在isHardwareDetected类上使用FingerprintManager方法。

确定指纹硬件是否存在并具有功能。如果硬件存在并具有功能,则返回true,否则返回false。

代码语言:javascript
运行
复制
// Check if we're running on Android 6.0 (M) or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    //Fingerprint API only available on from Android 6.0 (M)
    FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
    if (!fingerprintManager.isHardwareDetected()) { 
        // Device doesn't support fingerprint authentication     
    } else if (!fingerprintManager.hasEnrolledFingerprints()) { 
        // User hasn't enrolled any fingerprints to authenticate with 
    } else { 
        // Everything is ready for fingerprint authentication 
    }
}

不要忘记在AndroidManifest中添加访问指纹函数的权限。自API 28以来:

代码语言:javascript
运行
复制
<uses-permission android:name=" android.permission.USE_BIOMETRIC" />

在API28之前:

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.USE_FINGERPRINT" />

与支持库

如果您不想检查Build.VERSION,也可以使用支持库检查低于Android6.0的设备

添加依赖关系:

代码语言:javascript
运行
复制
compile "com.android.support:support-v4:23.0.0"

并使用FingerprintManagerCompat类如下所示:

代码语言:javascript
运行
复制
FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(context);

if (!fingerprintManagerCompat.isHardwareDetected()) { 
    // Device doesn't support fingerprint authentication     
} else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) { 
    // User hasn't enrolled any fingerprints to authenticate with 
} else { 
    // Everything is ready for fingerprint authentication 
}
票数 82
EN

Stack Overflow用户

发布于 2016-06-02 19:45:24

只是跟进劳伦蒂的答案。您需要获得访问指纹扫描仪的权限。为此,你需要把这个添加到你的宣言中。

API 27及之前

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.USE_FINGERPRINT" />

API 28及更高版本

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
票数 6
EN

Stack Overflow用户

发布于 2017-07-19 06:38:30

此方法适用于所有Android版本,并检查权限。

代码语言:javascript
运行
复制
 private boolean isSensorAvialable() {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                return ActivityCompat.checkSelfPermission(AppContext, Manifest.permission.USE_FINGERPRINT) == PackageManager.PERMISSION_GRANTED &&
                        AppContext.getSystemService(FingerprintManager.class).isHardwareDetected();
            } else {
                return FingerprintManagerCompat.from(AppContext).isHardwareDetected();
            }
        }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34409969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档