Guest User

Untitled

a guest
Jun 23rd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. package tj.fsociety.myfingerprint;
  2.  
  3. import android.Manifest;
  4. import android.app.KeyguardManager;
  5. import android.content.pm.PackageManager;
  6. import android.hardware.fingerprint.FingerprintManager;
  7. import android.support.v4.app.ActivityCompat;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.os.Bundle;
  10. import android.widget.Toast;
  11.  
  12. public class MainActivity extends AppCompatActivity {
  13.  
  14. @Override
  15. protected void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.activity_main);
  18.  
  19.  
  20. FingerprintManager fingerprintManager = (FingerprintManager) getSystemService(FINGERPRINT_SERVICE);
  21. if(allowfingerprint(fingerprintManager)){
  22. FingerprintHandler fingerprintHandler = new FingerprintHandler(this);
  23. fingerprintHandler.startAuth(fingerprintManager,null);
  24. }
  25.  
  26.  
  27. }
  28.  
  29.  
  30. private boolean allowfingerprint(FingerprintManager fingerprintManager){
  31. KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
  32.  
  33. if(!fingerprintManager.isHardwareDetected()){
  34. return false;
  35. }
  36. else {
  37. //здесь ещё была проверка пермищина
  38. if (!fingerprintManager.hasEnrolledFingerprints()) {
  39. return false;
  40. }
  41. else {
  42. if (!keyguardManager.isKeyguardSecure()) { //используется ли пароль для разблокировки телефона
  43. return false;
  44. } else {
  45. return true;
  46. }
  47. }
  48. }
  49. }
  50. }
  51.  
  52. package tj.fsociety.myfingerprint;
  53.  
  54. import android.Manifest;
  55. import android.annotation.TargetApi;
  56. import android.app.Activity;
  57. import android.content.Context;
  58. import android.content.Intent;
  59. import android.content.pm.PackageManager;
  60. import android.hardware.fingerprint.FingerprintManager;
  61. import android.os.Build;
  62. import android.os.CancellationSignal;
  63. import android.support.annotation.RequiresApi;
  64. import android.support.v4.app.ActivityCompat;
  65. import android.widget.TextView;
  66.  
  67. /**
  68. * Created by whit3hawks on 11/16/16.
  69. */
  70. public class FingerprintHandler extends FingerprintManager.AuthenticationCallback {
  71.  
  72. private Context context;
  73.  
  74. // Constructor
  75. public FingerprintHandler(Context mContext) {
  76. context = mContext;
  77. }
  78.  
  79. @TargetApi(Build.VERSION_CODES.M)
  80. @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
  81. public void startAuth(FingerprintManager manager, FingerprintManager.CryptoObject cryptoObject) {
  82. CancellationSignal cancellationSignal = new CancellationSignal();
  83. if (ActivityCompat.checkSelfPermission(context, Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) {
  84. return;
  85. }
  86. manager.authenticate(cryptoObject, cancellationSignal, 0, this, null);
  87. }
  88.  
  89. @Override
  90. public void onAuthenticationError(int errMsgId, CharSequence errString) {
  91. this.update("Fingerprint Authentication errorn" + errString);
  92. }
  93.  
  94. @Override
  95. public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
  96. this.update("Fingerprint Authentication helpn" + helpString);
  97. }
  98.  
  99. @Override
  100. public void onAuthenticationFailed() {
  101. this.update("Fingerprint Authentication failed.");
  102. }
  103.  
  104. @Override
  105. public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) {
  106. this.update("Successn" + result);
  107.  
  108. }
  109. private void update(String e){
  110. TextView textView = (TextView) ((Activity)context).findViewById(R.id.result);
  111. textView.setText(e);
  112. }
  113.  
  114. }
Add Comment
Please, Sign In to add comment