安卓。FingerprintManager onAuthenticationSucessfed之后的下一步是什么?

问题描述 投票:0回答:1

我正在为我的应用添加指纹认证,在网上找到了很多好的建议,并成功地在我的应用中实现了其中一个样本。https:/www.techotopia.comindex.phpAn_Android_Fingerprint_Authentication_Tutorial

然而,所有这些例子的MainActivity都以实例化一个帮助类结束,其中定义了各自的回调(onAuthenticationError、onAuthenticationHelp、onAuthenticationSucessfed)函数。

// Main activity
@Override
protected void onCreate(Bundle savedInstanceState) {
…
FingerprintHandler helper = new FingerprintHandler(this);
            helper.startAuth(fingerprintManager, cryptoObject);
}

…

// Helper class
public class FingerprintHandler extends FingerprintManager.AuthenticationCallback {
…
   @Override
    public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) {
        Toast.makeText(appContext, "Authentication succeeded.", Toast.LENGTH_LONG).show();
    }
}

现在我的应用也是如此。然而,有一点很重要,我没有在这里或在我所访问的博客文章中找到。有什么推荐的方法可以在用户成功认证后回到我的MainActivity代码中呢?处理诸如关闭指纹UI和启动实际应用UI与相关活动的事情。

我可以看到各种不同的方法来实现这一点,例如

  1. onAuthenticationSucessfed方法可以成为一个新的活动的启动器,使用我在mainActivity之前的代码。
  2. 我以某种方式将回调方法通过实现语句重定向到mymainActivity内部处理。

但是在我重构我的代码和尝试之前,我想我应该在这里寻求一些建议。

android fingerprint
1个回答
0
投票

好吧,我找到了一个方法,就是简单地创建一个全局MainActivity变量,然后从onAuthenticationSucceeded中调用MainActivity.InitApplication。

但是,与此同时,我还研究了API级别28的BiometricPrompt,这要简单得多.大刀阔斧地升级到Androidx和BiometricPrompt,最后得到了一个更干净的方法。

© www.soinside.com 2019 - 2024. All rights reserved.