您现在的位置是:首页 > 文章详情

检查Android是否支持指纹识别以及是否已经录入指纹

日期:2018-06-02点击:626
原文: 检查Android是否支持指纹识别以及是否已经录入指纹

Android M 开始,系统中加入了指纹相关功能.
主要用到的类为:FingerprintManager
只提供三个方法:

返回值 方法签名 说明
void authenticate(FingerprintManager.CryptoObject crypto, CancellationSignal cancel, int flags, FingerprintManager.AuthenticationCallback callback, Handler handler) 用于指纹验证
boolean hasEnrolledFingerprints() 确定是否至少有一个指纹登记。
boolean isHardwareDetected() 确定指纹硬件是否存在并且功能正常。

那么有了以上方法,就可以很简单的判断手机是否支持指纹,以及是否有指纹录入.以下为代码实现:

/** * 检查指纹 * * @param context * @return */ public static rx.Observable<java.lang.Boolean> checkFingerprint(final Context context) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { return //请求指纹权限 new RxPermissions(context) .request(Manifest.permission.USE_FINGERPRINT) .map(new Func1<Boolean, Boolean>() { @TargetApi(Build.VERSION_CODES.M) @Override public Boolean call(Boolean aBoolean) { if (aBoolean) { FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE); //确定是否指纹硬件存在和功能 return fingerprintManager.isHardwareDetected() && fingerprintManager.hasEnrolledFingerprints(); } return false; } }); } else { return rx.Observable.create(new Observable.OnSubscribe<Boolean>() { @Override public void call(Subscriber<? super Boolean> subscriber) { subscriber.onNext(false); } }); } }
原文链接:https://yq.aliyun.com/articles/678396
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章