Android指纹识别认识和基本使用详解

  

本文为大家分享了Android指纹识别认识和基本使用方法,供大家参考,具体内容如下

  

1。其实现在写指纹的博客已经有很多了,但是很多情况下,很多写的有点多,对需要快速上手和使用的人来说,没耐性去看那么多原理,源码之类的东西。大部分人都是直接复制,修改。

  

2。楼主表示一开始也是直接看人家代码,截一段一段的,很醉,而且下载演示还要c币啊。所以还是自己记录一下吧。也方便大家复制。哈哈。

  

3。首先来看一下模仿下支付宝的效果。

  

 Android指纹识别认识和基本使用详解

  

4。基本识别功能可以完成,至于每个人需求不一样,所以只是演示,由于本人手机最多一次识别5次5次后就要等大概30年代后才能重新识别。

  

5。主要代码,。

        & lt; uses-permission android: name=" android.permission.USE_FINGERPRINT "/祝辞            进口android.os.Bundle;   进口handler;   进口android.os.Message;   进口android.support.v4.app.FragmentActivity;   进口android.support.v4.hardware.fingerprint.FingerprintManagerCompat;   进口android.view.View;   进口android.view.animation.CycleInterpolator;   进口android.view.animation.TranslateAnimation;   进口android.widget.Button;   进口android.widget.ImageView;   进口android.widget.TextView;   进口android.widget.Toast;      公开课FingerActivity延伸FragmentActivity {   私人按钮mCancelBtn;   私人ImageView mShakeImage;   私人TextView mTryText;   私人int mCount=5;   私人FingerPrintUtils mFingerUtils;   私人TranslateAnimation mAnimation;      @Override   保护无效onCreate(包savedInstanceState) {   super.onCreate (savedInstanceState);   setContentView (R.layout.activity_finger);      mCancelBtn=(按钮)findViewById (R.id.finger_cancel);   mCancelBtn。setOnClickListener(新View.OnClickListener () {   @Override   公共空间onClick(查看v) {   完成();   }   });   mTryText=(TextView) findViewById (R.id.try_text);   mTryText.setText(“请轻触感应器验证指纹”);   mShakeImage=(ImageView) findViewById (R.id.image_finger);   mAnimation=new TranslateAnimation (0 5 0,0);   mAnimation.setDuration (800);   mAnimation。setInterpolator(新CycleInterpolator (8));   mFingerUtils=new FingerPrintUtils(这个);   mFingerUtils。setFingerPrintListener(新FingerCallBack ());   }         私有类FingerCallBack延伸FingerprintManagerCompat.AuthenticationCallback {//多次识别失败,并且,不能短时间内调用指纹验证   @Override   公共空onAuthenticationError (int errMsgId CharSequence进行errString) {   超级。onAuthenticationError (errMsgId errString);   如果(mCount> 1) {   mCount——;   mTryText.setText(指纹不匹配,还可以尝试”+ mCount +“次”);   其他}{   mTryText.setText(“1分钟后可重试!”);   }   mHandler。sendMessageDelayed(新消息(),1000 * 60);   }//出错可恢复   @Override   公共空onAuthenticationHelp (int helpMsgId CharSequence进行helpString) {   超级。onAuthenticationHelp (helpMsgId helpString);   }//识别成功   @Override   公共空间onAuthenticationSucceeded (FingerprintManagerCompat。AuthenticationResult结果){   super.onAuthenticationSucceeded(结果);   mFingerUtils.stopsFingerPrintListener ();   完成();   Toast.makeText (FingerActivity。这个,”识别成功+ + +”,Toast.LENGTH_SHORT),告诉();      }//识别失败   @Override   公共空间onAuthenticationFailed () {   super.onAuthenticationFailed ();   如果(mCount> 1) {   mCount——;   mTryText.setText(指纹不匹配,还可以尝试”+ mCount +“次”);   }   mShakeImage.startAnimation (mAnimation);   }   }      私人处理程序mHandler=new处理程序(){   @Override   公共空间handleMessage(消息味精){   super.handleMessage(味精);   如果(mFingerUtils !=null) {   mFingerUtils。reSetFingerPrintListener(新FingerCallBack ());   }   mCount=5;   如果(mTryText !=null) {   mTryText.setText(“请轻触感应器验证指纹”);   }      }   };      }      

<强> 6。问题和方案

  

FingerPrintManagerCompat,这是一个兼容的指纹操作类,还有一个类似的叫做FingerPrintManagerCompatApi23,使用这两个类也能实现到识别指纹的功能,但是也是有不足的地方。这两个类都能实现这个效果,但是需要版本在23日或以上,如果达不到不会报错,因为它会都不做,而且相信大家也会加判断

Android指纹识别认识和基本使用详解