2017-10-25 6 views
0

デバイスに指紋センサが付いているかどうかを確認する方法と、そうでない場合はどうすれば表示できますか?電話機に指紋が付いているかどうかを示すボタンテキストを表示するにはどうすればいいですか?

私はこのコードを持っており、 指紋センサーを持たない携帯電話ではうまく動作しますが、指紋センサー携帯電話では機能しません。テキストには、引き続き電話に指紋がないことが示されています。これをどうすれば解決できますか?

FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(getApplicationContext()); 
if (!fingerprintManagerCompat.isHardwareDetected()) { 
    // O dispositivo não suporta a autenticação de impressão digital 
    BtnActionFingerprint.setEnabled(false); 
    BtnActionFingerprint.setText(R.string.button_title_fingerprint_not_supported); 
} else 
    if (!fingerprintManagerCompat.hasEnrolledFingerprints()) { 
     // O usuário não registrou nenhuma impressão digital para autenticar com 
     BtnActionFingerprint.setEnabled(false); 
     BtnActionFingerprint.setText(R.string.button_title_fingerprint_supported_but_unavaliable); 
    } else { 
     // Tudo está pronto para a autenticação de impressão digital 
     BtnActionFingerprint.setEnabled(true); 
     BtnActionFingerprint.setText(R.string.button_title_fingerprint_supported); 
    } 
+0

ホープ[本](https://stackoverflow.com/questions/34409969/how-to-check-device-compatibility-for-finger-print-authentication-in-アンドロイド)あなたの問題を解決するのに役立ちます。 –

答えて

0

たぶん、あなたがマニフェストに許可を欠場:

<uses-permission 
    android:name="android.permission.USE_FINGERPRINT" /> 
1

単にあなたは私たちがあなたの全てクリアスクリーンショットをしましたここでは、この

try { 
     Button btn=(Button)findViewbyId(R.id.btn); 
     FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(MainActivity.this); 
     if (!fingerprintManagerCompat.isHardwareDetected()) { 
      // Device doesn't support fingerprint authentication 
      Toast.makeText(this, "device not support", Toast.LENGTH_SHORT).show(); 
      btn.setText("Device not supported"); 
     } else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) { 
      // User hasn't enrolled any fingerprints to authenticate with 
      Toast.makeText(this, "not enrolled", Toast.LENGTH_SHORT).show(); 
      btn.setText("Device not Enrolled"); 
     } else { 
      Toast.makeText(this, "ready to use fingerPrint", Toast.LENGTH_SHORT).show(); 
      // Everything is ready for fingerprint authentication 
     btn.setText("Ready to use fingerprint"); 
     } 
    }catch (Exception e){ 
     e.printStackTrace(); 
     Log.e("130",">>>"+e+"<<<<<"); 
    } 

  • を行うことで達成疑いのある人

enter image description here

+0

私の作品では、このメソッドが、私はToastを取り出し、ボタン上のメッセージを使用したいと思った。それはできますか? strings.xml内にあらかじめ定義されている文字列 –

関連する問題