Problems about OnePlus 6T fingerprint API

  1. mium Cupcake Nov 14, 2018

    mium, Nov 14, 2018 :
    Check the original post for better understanding: https://forums.oneplus.com/threads/whats-wrong-with-oneplus-6t-fingerprint-api.944318/#post-19482263

    I tried some experiments for BiometricPrompt on OnePlus 6T, and would like to share some information about it.

    0. What is BiometricPrompt?
    Screen Shot 2018-11-14 at 2.35.03 AM.png

    BiometricPrompt is a new Biometric verification interface for Android 9 or higher. Its goal is to replace previous FingerprintManager API which can be customized so widely that users can be confused when verifying. You can get so many other user interfaces for fingerprint verification on market, while it is identical on Touch ID or Face ID on iOS.

    Users can get information like: which application needs my verification, and why in unified way. It makes users easier to make verification.

    For more information, check out: https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt

    1. You cannot provide BiometicPrompt for users on OnePlus 6T unless you provide a custom view
    The problem is, the developers cannot provide the BiometricPrompt for users for whatever reasons. If you build the prompt using BiometricBuilder, you only get the fingerprint on display icon without any prompt user interface elements.
    I tried lots of tricks to make it visible, but there is no way to enable the prompt screen. If it can be enabled by other tricks, that's great. However, the fact it is challenging to enable the prompt screen especially on OnePlus 6T never changes.

    There is actually another way to enable the prompt screen, which is to trick that the device is lower than API Level 28 (Android 9 Pie), and pretend the device does not have BiometricPrompt API. Then, the developers have to create a custom view using the old FingerprintManager. This way can be proved by GitHub - BiometricAuthSample (https://github.com/anitaa1990/Biometric-Auth-Sample). This developer provides the similar verification interface on Android 6.0 ~ Android 8.1, and if we trick the device is lower than Android 9 Pie, we can get a custom view for older Android versions... but OnePlus 6T does not have an outdated Android version...

    2. Why is this problem?
    Some users may think if the API works well without the prompt interface, it doesn't matter. Well, let's have an example. You get the fingerprint on display without any explanations, and have to decide whether to verify or not. However, the result may be risky. Also, the developers will soon apply the BiometricPrompt to applications since the original FingerprintManager API is now deprecated. Will developers know the OnePlus 6T does not provide the prompt? I guess no. It is unfair for developers to make a custom view just for OnePlus to give the unified experience.

    I know OnePlus' OxygenOS is aimed to provide users a pure Android experience with some tweaks on it. Without the basis, it is hard to experience that pure Android.

    3. Isn't it about Fingerprint on Display so OnePlus disabled the prompt?

    I am not sure about it, but when I get a custom view for OnePlus 6T and have experiments with it using the BiometricAuthSample, it works well with the prompt. Therefore, I do not think the fingerprint on display features matter.

    Also, when purchasing IAPs on Google Play which is not BiometricPrompt but has white-based Material Design, it works perfectly like before.

    I do not have OnePlus 6 with the rear fingerprint scanner, so I will update the post if the developers who have OnePlus 6 test the API and share the result with the community.

    4. It also has problems..

    Without the prompt but the fingerprint on display icon, it works well unless you want to cancel the verification. However, if you want to cancel the verification without the prompt on OnePlus 6T, the only way is to tap on Back key or trigger a gesture. The problem is, with the custom view, you cannot kill the fingerprint scanning action, and without the prompt, it pretends like you tapped on Back key twice, so the activity itself can be quit while other Android devices do not.

    5. Requests for OxygenOS developers
    You may think the API fix request is not prior for updates, but when it comes to developers, it actually is a serious problem. I hope you to look up the problems and fix as soon as possible.

    Logancd1 likes this.
  2. Logancd1 Ice Cream Sandwich Nov 14, 2018

    Logancd1, Nov 14, 2018 :
    I'll report on my test on OP6 when I get home today. If anyone beats me to it let me know. Can also compare to OP5T/OP3/Pixel 3XL just to confirm other software or older software works too. Time to set a reminder to do this.

    mium likes this.
  3. Sammekl Gingerbread May 31, 2019

    Sammekl, May 31, 2019 :
    Can confirm this is still an issue. Also occurs on OnePlus 7 Pro. OnePlus 5T works. It seems to occur due to the inscreen fingerprint sensor. On the Galaxy S10 it does work as well.

  4. StuartLang Cupcake Jun 5, 2019

    StuartLang, Jun 5, 2019 :
    I'm facing this too, the company I'm working for will start making use of this API (UK FTSE 100 company with millions of customers), which will impact many more OxygenOS users.

    I hope this is being prioritised. Let me know if I can help with testing.

  5. bbedward Cupcake Jun 14, 2019

  6. Sunchezz Cupcake Jul 11, 2019

    Sunchezz, Jul 11, 2019 :
    I can also confirm this issue on 7pro with API Level 29 and Oxygen 9.5.9.

    No BiometricPrompt Dialog, no matter what I do.

    Please solve this :(