java - 识别指纹时使用Intent

标签 java android android-studio android-intent fingerprint

我目前正在开发一个具有 MainActivity 的应用程序,该应用程序包含在指纹安全系统中,该应用程序的想法是,当识别指纹时,该应用程序应该打开一个不同的 Activity 。

我所有的指纹检查内容都集中在一个名为 FingerprintHandler 的 Java.class 中,您可以在下面看到它:

@TargetApi(Build.VERSION_CODES.M)

公共(public)类 FingerprintHandler 扩展 FingerprintManager.AuthenticationCallback {

// Usamos CancellationSignal para que una vez fuera de la App otras apps puedan usar el sensor de huellas sin problemas

private CancellationSignal cancellationSignal;
private Context context;

public FingerprintHandler(Context mContext) {
    context = mContext;
}

// Implementamos startAuth ya que es el encargado de realizar la autenticación de la huella digital
public void startAuth(FingerprintManager manager, FingerprintManager.CryptoObject cryptoObject) {

    cancellationSignal = new CancellationSignal();
    if (ActivityCompat.checkSelfPermission(context, permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    manager.authenticate(cryptoObject, cancellationSignal, 0, this, null);
}

@Override
// onAuthtenticationError es llamado cuando ocurre un error fatal, y nos proporciona información sobre este
public void onAuthenticationError(int errMsgId, CharSequence errString) {
    Toast.makeText(context, "Error de autenticación\n" + errString, Toast.LENGTH_SHORT).show();
}

@Override
// onAuthenticationHelp es llamado cuando ocurre un error no fatal, y nos proporciona información sobre este
public void onAuthenticationHelp(int helpCode, CharSequence helpString) {
    Toast.makeText(context, "Ayuda de autenticación:\n " + helpString, Toast.LENGTH_SHORT).show();
}

@Override
// onAuthenticationSucceeded es llamado cuando la huella utilizada coincide con alguna de la sregistradas en el dispositivo
public void onAuthenticationSucceeded(AuthenticationResult result) {
    Toast.makeText(context, "Autenticación realizada con éxito", Toast.LENGTH_SHORT).show();

}

@Override
// onAuthenticationFailed es llamado cuando la huela dactilar utilizada no coincide con ninguna de las registradas en el dispositivo
public void onAuthenticationFailed() {
    Toast.makeText(context, "La huella no coincide con ninguna de las registradas", Toast.LENGTH_SHORT).show();
}

}

我尝试在 onAuthenticationSucceeded 方法上设置 Intent,但它不起作用,这基本上是我尝试在 onAuthenticationSucceeded 中设置的 Intent:

Intent intent = new Intent(MainActivity.class, CommandSenderActivity.class);
    startActivity(intent);

问题是,我的 Android Studio 说他无法解析 Intent 构造函数,而且“startActivity”无法识别,它显示为红色。

所以这基本上是我的疑问,我需要一个 Intent 引导我从 MainActivity 到 CommandSenderActivity,但我需要在正确检查指纹时执行此操作(这就是我尝试在 onAuthenticationSucceeded 内部构建 Intent 的原因)。我的错误可能是什么?

顺便说一句,感谢您耐心地帮助像我这样的新手,你们是这里最棒的!

(哦,忽略注释,那些是西类牙语的,忽略它们即可:p)

最佳答案

startActivity(intent);它是Context class的一个方法,因此您可以在 FingerprintHandler 类中使用上下文变量:

Intent intent = new Intent(context, CommandSenderActivity.class);
context.startActivity(intent);

关于java - 识别指纹时使用Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171842/

相关文章:

java - Hibernate,映射继承字段

android - 如何将 Fennec 与 eclipse for android 连接

安卓工作室 : How to create quick clones or copies of current project

android - 当点击推送通知时,当应用程序关闭时,如何打开由 Firebase 发送的 url?

java - 如何从 Android Studio logcat 中排除某些错误?

java - 如何在整个应用程序 session 的 Activity 中仅显示一次插页式广告

java - 使用 jboss 工具/hibernate 配置连接到数据库时出错

java - 找不到适合学生的构造函数(无参数)

java.lang.NoSuchMethodError : No static method setFactory2(Landroid/view/LayoutInflater;Landroid/view/LayoutInflater$Factory2;) 错误

android - 如何解决android中的OutOfMemoryError?