国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android指紋識別認識和基本使用詳解

2019-10-21 21:46:04
字體:
來源:轉載
供稿:網友

本文為大家分享了Android指紋識別認識和基本使用方法,供大家參考,具體內容如下

1.其實現在寫指紋的博客已經有很多了,但是很多情況下,很多寫的有點多,對需要快速上手和使用的人來說,沒耐性去看那么多原理,源碼之類的東西。大部分人都是直接復制,修改。

2.樓主表示一開始也是直接看人家代碼,截一段一段的,很醉,而且下載demo還要c幣啊。所以還是自己記錄一下吧。也方便大家復制。哈哈。

3.首先來看一下模仿下支付寶的效果。

Android,指紋識別

4.基本識別功能可以完成,至于每個人需求不一樣,所以只是演示,由于本人手機最多一次識別5次。5次后就要等大概30s后才能重新識別。

5.主要代碼,記得加上權限 

<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v4.app.FragmentActivity;import android.support.v4.hardware.fingerprint.FingerprintManagerCompat;import android.view.View;import android.view.animation.CycleInterpolator;import android.view.animation.TranslateAnimation;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast; public class FingerActivity extends FragmentActivity { private Button mCancelBtn; private ImageView mShakeImage; private TextView mTryText; private int mCount=5; private FingerPrintUtils mFingerUtils; private TranslateAnimation mAnimation;  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_finger);  mCancelBtn = (Button) findViewById(R.id.finger_cancel); mCancelBtn.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  finish();  } }); 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(new CycleInterpolator(8)); mFingerUtils=new FingerPrintUtils(this); mFingerUtils.setFingerPrintListener(new FingerCallBack()); }   private class FingerCallBack extends FingerprintManagerCompat.AuthenticationCallback{ //多次識別失敗,并且,不能短時間內調用指紋驗證 @Override public void onAuthenticationError(int errMsgId, CharSequence errString) {  super.onAuthenticationError(errMsgId, errString);  if (mCount>1){  mCount--;  mTryText.setText("指紋不匹配,還可以嘗試"+mCount+"次");  }else {  mTryText.setText("1分鐘后可重試!");  }  mHandler.sendMessageDelayed(new Message(), 1000 * 60); }  //出錯可恢復 @Override public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {  super.onAuthenticationHelp(helpMsgId, helpString); }  //識別成功 @Override public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult result) {  super.onAuthenticationSucceeded(result);  mFingerUtils.stopsFingerPrintListener();  finish();  Toast.makeText(FingerActivity.this, "識別成功+++", Toast.LENGTH_SHORT).show();  }  //識別失敗 @Override public void onAuthenticationFailed() {  super.onAuthenticationFailed();  if (mCount>1){  mCount--;  mTryText.setText("指紋不匹配,還可以嘗試"+mCount+"次");  }  mShakeImage.startAnimation(mAnimation); } }  private Handler mHandler=new Handler(){ @Override public void handleMessage(Message msg) {  super.handleMessage(msg);  if (mFingerUtils!=null){  mFingerUtils.reSetFingerPrintListener(new FingerCallBack());  }  mCount=5;  if (mTryText!=null) {  mTryText.setText("請輕觸感應器驗證指紋");  }  } }; }

6.問題和方案

FingerPrintManagerCompat,這是一個兼容的FingerPrint操作類,還有一個類似的叫做FingerPrintManagerCompatApi23,使用這兩個類也能實現到識別指紋的功能,但是也是有不足的地方。這兩個類都能實現這個效果,但是需要 版本在23或以上,如果達不到不會報錯,因為它會都不做,而且相信大家也會加判斷

可能會存在某些機型不兼容情況,畢竟廠商太多。本人也沒有太多機子可以測試。

7.demo地址大家可以下載。

github:fingerIdentify

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临朐县| 南木林县| 永修县| 井研县| 揭西县| 藁城市| 和林格尔县| 莱西市| 女性| 德兴市| 通城县| 乐陵市| 毕节市| 偏关县| 繁峙县| 台中市| 金塔县| 古浪县| 滦南县| 华阴市| 黔西县| 台北县| 织金县| 新昌县| 贵阳市| 额济纳旗| 登封市| 花垣县| 旬邑县| 句容市| 从化市| 余干县| 星子县| 漠河县| 松溪县| 台北县| 海兴县| 东源县| 永春县| 信宜市| 上思县|