为多个用户使用来自 Android 的新指纹 API

Use new fingerprint API from Android for multiple users

我们正在 Android 上创建一个时间戳应用程序,理想情况下,这将使用指纹来识别用户。

在一个组织中可以有大约 150 个不同的用户。指纹 API 是否允许多个用户?或者这目前仅适用于设备所有者?如果这仅适用于当前用户,是否还有其他可用的 API 允许这样做?如果不是,我认为我们需要完全放弃这条路。

Android M 或 Samsung 或 iPhone API 仅允许根据设备用户验证当前用户。

有一些指纹扫描仪与 Android 平台和 Android 的 SDK 兼容。这些 SDK 允许获取指纹图像或模板。扫描仪插入 USB 端口,因此您无法同时为平板电脑充电和使用指纹扫描仪。例如:

还有一些设备集成了指纹扫描仪并带有 SDK 来获取指纹图像或模板。

你可以使用 android.hardware.fingerprint.Fingerprint.class

/**
* Container for fingerprint metadata.
* @hide
*/
public final class Fingerprint implements Parcelable {
    private CharSequence mName;
    private int mGroupId;
    private int mFingerId;
    private long mDeviceId; // physical device this is associated with
 ...
}

与已注册的 FingerprintManager inner class 进行比较,但 api 的可见性被隐藏,您需要使用反射

 /**
 * Container for callback data from {@link FingerprintManager#authenticate(CryptoObject,
 *     CancellationSignal, int, AuthenticationCallback, Handler)}.
 */
public static class AuthenticationResult {
    private Fingerprint mFingerprint;
...
}