Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tj.fsociety.myfingerprint;
- import android.Manifest;
- import android.app.KeyguardManager;
- import android.content.pm.PackageManager;
- import android.hardware.fingerprint.FingerprintManager;
- import android.support.v4.app.ActivityCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.widget.Toast;
- public class MainActivity extends AppCompatActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- FingerprintManager fingerprintManager = (FingerprintManager) getSystemService(FINGERPRINT_SERVICE);
- if(allowfingerprint(fingerprintManager)){
- FingerprintHandler fingerprintHandler = new FingerprintHandler(this);
- fingerprintHandler.startAuth(fingerprintManager,null);
- }
- }
- private boolean allowfingerprint(FingerprintManager fingerprintManager){
- KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
- if(!fingerprintManager.isHardwareDetected()){
- return false;
- }
- else {
- //здесь ещё была проверка пермищина
- if (!fingerprintManager.hasEnrolledFingerprints()) {
- return false;
- }
- else {
- if (!keyguardManager.isKeyguardSecure()) { //используется ли пароль для разблокировки телефона
- return false;
- } else {
- return true;
- }
- }
- }
- }
- }
- package tj.fsociety.myfingerprint;
- import android.Manifest;
- import android.annotation.TargetApi;
- import android.app.Activity;
- import android.content.Context;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.hardware.fingerprint.FingerprintManager;
- import android.os.Build;
- import android.os.CancellationSignal;
- import android.support.annotation.RequiresApi;
- import android.support.v4.app.ActivityCompat;
- import android.widget.TextView;
- /**
- * Created by whit3hawks on 11/16/16.
- */
- public class FingerprintHandler extends FingerprintManager.AuthenticationCallback {
- private Context context;
- // Constructor
- public FingerprintHandler(Context mContext) {
- context = mContext;
- }
- @TargetApi(Build.VERSION_CODES.M)
- @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
- public void startAuth(FingerprintManager manager, FingerprintManager.CryptoObject cryptoObject) {
- CancellationSignal cancellationSignal = new CancellationSignal();
- if (ActivityCompat.checkSelfPermission(context, Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) {
- return;
- }
- manager.authenticate(cryptoObject, cancellationSignal, 0, this, null);
- }
- @Override
- public void onAuthenticationError(int errMsgId, CharSequence errString) {
- this.update("Fingerprint Authentication errorn" + errString);
- }
- @Override
- public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
- this.update("Fingerprint Authentication helpn" + helpString);
- }
- @Override
- public void onAuthenticationFailed() {
- this.update("Fingerprint Authentication failed.");
- }
- @Override
- public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) {
- this.update("Successn" + result);
- }
- private void update(String e){
- TextView textView = (TextView) ((Activity)context).findViewById(R.id.result);
- textView.setText(e);
- }
- }
Add Comment
Please, Sign In to add comment