是否有可能在Android的指纹API中识别多个手指?

时间:2016-07-13 18:16:50

标签: android android-fingerprint-api

我们可以对这些功能执行不同的功能吗? 我需要将这些API用于我的项目,如果API认为所有指纹都相同,我会感到困惑。以及如何保存不同的指纹并将其用于不同的操作? 搜索了API并找到了这些。

该API中的这些行是什么意思?

   public static class AuthenticationResult {
    private Fingerprint mFingerprint;
    private CryptoObject mCryptoObject;
    /**
     * Authentication result
     *
     * @param crypto the crypto object
     * @param fingerprint the recognized fingerprint data, if allowed.
     * @hide
     */
    public AuthenticationResult(CryptoObject crypto, Fingerprint fingerprint) {
        mCryptoObject = crypto;
        mFingerprint = fingerprint;
    }
    /**
     * Obtain the crypto object associated with this transaction
     * @return crypto object provided to {@link FingerprintManager#authenticate(CryptoObject,
     *     CancellationSignal, int, AuthenticationCallback, Handler)}.
     */
    public CryptoObject getCryptoObject() { return mCryptoObject; }
    /**
     * Obtain the Fingerprint associated with this operation. Applications are strongly
     * discouraged from associating specific fingers with specific applications or operations.
     *
     * @hide
     */
    public Fingerprint getFingerprint() { return mFingerprint; }
};

https://android.googlesource.com/platform/frameworks/base/+/marshmallow-release/core/java/android/hardware/fingerprint/FingerprintManager.java#258

1 个答案:

答案 0 :(得分:1)

对于Android手机,目前所有指纹都被认为是平等的。 https://github.com/googlesamples/android-FingerprintDialog/issues/20

正如 mariotaku 在底部所说,隐藏的API有一种方法可以告诉指纹。但这可能会在未来的版本中破裂。

  

/** * Obtain the Fingerprint associated with this operation. Applications are strongly * discouraged from associating specific fingers with specific applications or operations. * * @hide */ public Fingerprint getFingerprint() { return mFingerprint; }

不是代码块中的@hide。意味着此功能公开不可用,因此您必须使用反射来访问它。

旁注:

根据此链接,可以使用不同的指纹手势在较新的华为手机上启动不同的应用程序。 https://www.reddit.com/r/Nexus6P/comments/42p8ba/different_fingerprint_launches_different_app/

经过进一步检查,这实际上与阅读不同的指纹无关,而是在指纹传感器上使用手势执行不同的操作。这些手势可以用任何手指执行,而不仅仅是注册为身份验证指纹的手指。 http://www.androidcentral.com/how-enable-fingerprint-gestures-honor-6x