Sto cercando di iniziare con l'API Marshmallow Fingerprint Authentication. Capisco che a chiedere il permesso, devo utilizzare il seguente metodo:Marshmallow Fingerprint Scanner Hardware Presenza
ContextCompat.checkSelfPermission(getContext(), Manifest.permission.USE_FINGERPRINT);
E devo controllare se il dispositivo è in funzione API di livello 23 o superiore. Ma prima di chiedere il permesso, vorrei verificare se il dispositivo ha effettivamente uno scanner di impronte digitali per cominciare. Ho trovato i seguenti due metodi per fare questo controllo:
FingerprintManager manager = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
manager.isHardwareDetected();
manager.hasEnrolledFingerprints();
Ma Entrambi i metodi richiedono USE_FINGERPRINT
il permesso di essere chiamato a tutti. Perché dovrei chiedere il permesso di utilizzare uno scanner di impronte digitali che non conosco nemmeno esiste? Esistono altri metodi per scoprire se esiste uno scanner? O è l'unico modo per chiedere il permesso prima?
'USE_FINGERPRINT' è un permesso normale - una volta che è nel vostro manifesto avrete sempre e non c'è bisogno di usare' ContextCompat.checkSelfPermission() '. – ianhanniballake
@ianhanniballake Oh, sembra vero. Perché allora lancia un 'SecurityException'? Non dovrebbe essere solo un errore del compilatore o qualcosa del genere? Anche il 'VIBRATOR_SERVICE' richiede un permesso normale e non genera eccezioni. – Bryan