Как я могу использовать Fingerprint Manager, чтобы получить (getFingerId) на android 10 - PullRequest
0 голосов
/ 31 марта 2020

Я использовал приведенный ниже код на android 9, и он отлично работает.

private void getFingerprintInfo(Context context)
    {
        try {
            FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
            Method method = FingerprintManager.class.getDeclaredMethod("getEnrolledFingerprints");
            Object obj = method.invoke(fingerprintManager);

            if (obj != null) {
                Class<?> clazz = Class.forName("android.hardware.fingerprint.Fingerprint");
                Method getFingerId = clazz.getDeclaredMethod("getFingerId");

                for (int i = 0; i < ((List) obj).size(); i++)
                {
                    Object item = ((List) obj).get(i);
                    if(item != null)
                    {
                        System.out.println("fingerId: " + getFingerId.invoke(item));
                    }
                }
            }
        } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

, но тот же код не работает на android 10. есть ли способ получить getFingerId в android 10 или другие предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...