意图启动指纹登记屏幕

Pon*_*rai 8 biometrics fingerprint android-fingerprint-api

如何从我的应用程序启动指纹注册设置屏幕(添加指纹屏幕)?

注册指纹后,有没有办法导航回我的应用程序?(使用startActivityForResult)

Pon*_*rai 16

在阅读完文档之后,我发现截至目前,还没有这样的意图行动.我使用下面的Intent启动了安全设置(其中指纹选项可用).

startActivity(new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS));
Run Code Online (Sandbox Code Playgroud)


Gar*_*e88 12

建议的答案缺少要点:如果用户需要注册 BIOMETRIC_STRONG 类型的生物特征,则需要将 Extra 添加到意图中才能正确打开 BiometricEnrollActivity。

如果我尝试使用已注册的弱生物特征来注册强生物特征,则 startActvity 命令无法打开该活动。

因此,用于让用户注册 BIOMETRIC_STRONG 的完整代码片段是:

val intent: Intent = when {
  Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> {
     Intent(Settings.ACTION_BIOMETRIC_ENROLL).putExtra(EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED, BiometricManager.Authenticators.BIOMETRIC_STRONG)
  }
   Build.VERSION.SDK_INT >= Build.VERSION_CODES.P -> {
     Intent(Settings.ACTION_FINGERPRINT_ENROLL)
   }
   else -> {
     Intent(Settings.ACTION_SECURITY_SETTINGS)
   }
}

if(intent.resolveActivity(context!!.packageManager) != null){
   startActivity(intent)
  }else{
   startActivity(Intent(Settings.ACTION_SETTINGS))
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ler 9

与API >= PSettings.ACTION_FINGERPRINT_ENROLLBiometricPrompt

@RequiresApi(api = Build.VERSION_CODES.P)
private void startFingerprintEnrollment(@NonNull AppCompatActivity activity) {
    Intent intent = new Intent(Settings.ACTION_FINGERPRINT_ENROLL);
    activity.startActivityForResult(intent, REQUESTCODE_FINGERPRINT_ENROLLMENT);
}
Run Code Online (Sandbox Code Playgroud)

与API相比>= M

@SuppressWarnings("deprecation")
@RequiresApi(api = Build.VERSION_CODES.M)
private void gotoSecuritySettings(@NonNull AppCompatActivity activity) {
    Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
    activity.startActivityForResult(intent, REQUESTCODE_SECURITY_SETTINGS);
}
Run Code Online (Sandbox Code Playgroud)

认为这是FingerprintEnrollIntroduction ...

指纹注册的入职活动。


Kar*_*aka 6

建议的答案不适用于华为 P9。此型号的指纹设置可从以下位置获得: startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));

另一件事是,当您在应用程序任务上启动系统设置、注册新指纹并通过后按返回时,您将无法在首次授权时加密任何消息。最好的事情是,如果用户将应用程序设置为后台并自行注册手指,然后恢复应用程序,加密将起作用。我不知道这种行为的原因是什么,所以我建议只告知用户注册手指的可能性。