Marshmallow Fingerprint Authentication API の使用を開始しようとしています。許可を求めるには、次の方法を使用する必要があることを理解しています。
ContextCompat.checkSelfPermission(getContext(), Manifest.permission.USE_FINGERPRINT);
そして、デバイスが API レベル 23 以上を実行しているかどうかを確認する必要があります。しかし、許可を求める前に、そもそもデバイスに実際に指紋スキャナーがあるかどうかを確認したいと思います。このチェックを行うには、次の2つの方法が見つかりました。
FingerprintManager manager = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
manager.isHardwareDetected();
manager.hasEnrolledFingerprints();
ただし、どちらの方法USE_FINGERPRINT
でも、呼び出すにはアクセス許可が必要です。存在すら知らない指紋スキャナーを使用する許可を求める必要があるのはなぜですか? スキャナーが存在するかどうかを調べる他の方法はありますか? または、最初に許可を求める唯一の方法ですか?