检查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); } }); } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android各版本对应的SDK和JDK版本
原文: Android各版本对应的SDK和JDK版本 一、Android各版本对应的SDK版本: 平台版本 SDK版本 版本名称 Android 8.0 26 Oreo Android 7.1 25 Nougat Android 7.0 24 Nougat Android 6.0 23 Marshmallow Android 5.1 22 Lollipop Android 5.0 21 Lollipop Android 4.4 19 KITKAT Android 4.3 18 JELLY_BEAN_MR2 Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 Android 4.1, 4.1.1 16 JELLY_BEAN Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH Android 3.2 13 HONEYCOMB_MR2 Android 3.1.x 12 HONEYCOMB_MR1 Android 3.0.x 11 HO...
- 下一篇
Android指纹识别
原文: Android指纹识别 上一篇讲了通过FingerprintManager验证手机是否支持指纹识别,以及是否录入了指纹,这里进行指纹的验证. //获取FingerprintManager实例 FingerprintManager mFingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE); //执行验证监听 mFingerprintManager .authenticate(cryptoObject, mCancellationSignal, 0, this, null); 参数说明: cryptoObject//FingerprintManager支持的加密对象的包装类。目前该框架支持Signature,Cipher和Mac对象。 mCancellationSignal//提供取消正在进行的操作的功能。 callback(参数中的this)//指纹识别的回调函数 cryptoObject初始化: private KeyguardManager ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Red5直播服务器,属于Java语言的直播服务器