Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用于检测设备是否具有指纹硬件的代码_Android_Fingerprint_Detect - Fatal编程技术网

Android 用于检测设备是否具有指纹硬件的代码

Android 用于检测设备是否具有指纹硬件的代码,android,fingerprint,detect,Android,Fingerprint,Detect,我正在尝试在我的应用程序中添加一个小部分,用于检测android设备是否具有内置指纹硬件。有两个特定页面分别讨论了该主题: 及 但是他们都没有给我一个有效的解决方案,我正在寻找一个可以在14年前的API上工作的东西 任何帮助都将不胜感激 您必须在FingerprintManager类上使用方法isHardwareDetected 确定指纹硬件是否存在并正常工作。如果硬件存在且功能正常,则返回true,否则返回false // Check if we're running on Andro

我正在尝试在我的应用程序中添加一个小部分,用于检测android设备是否具有内置指纹硬件。有两个特定页面分别讨论了该主题:

但是他们都没有给我一个有效的解决方案,我正在寻找一个可以在14年前的API上工作的东西


任何帮助都将不胜感激

您必须在
FingerprintManager
类上使用方法
isHardwareDetected

确定指纹硬件是否存在并正常工作。如果硬件存在且功能正常,则返回true,否则返回false

  // Check if we're running on Android 6.0 (M) or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    //Fingerprint API only available on from Android 6.0 (M)
    FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
    if (!fingerprintManager.isHardwareDetected()) { 
        // Device doesn't support fingerprint authentication     
    } else if (!fingerprintManager.hasEnrolledFingerprints()) { 
        // User hasn't enrolled any fingerprints to authenticate with 
    } else { 
        // Everything is ready for fingerprint authentication 
    }
}
不要忘记在中添加访问指纹功能的权限 AndroidManifest:

<uses-permission android:name="android.permission.USE_FINGERPRINT" />
并使用FingerprintManagerCompat类,如下所示:

FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(context);

if (!fingerprintManagerCompat.isHardwareDetected()) { 
    // Device doesn't support fingerprint authentication     
} else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) { 
    // User hasn't enrolled any fingerprints to authenticate with 
} else { 
    // Everything is ready for fingerprint authentication 
}

您必须在
FingerprintManager
类上使用方法
ishardwaredeteced

确定指纹硬件是否存在并正常工作。如果硬件存在且功能正常,则返回true,否则返回false

  // Check if we're running on Android 6.0 (M) or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    //Fingerprint API only available on from Android 6.0 (M)
    FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
    if (!fingerprintManager.isHardwareDetected()) { 
        // Device doesn't support fingerprint authentication     
    } else if (!fingerprintManager.hasEnrolledFingerprints()) { 
        // User hasn't enrolled any fingerprints to authenticate with 
    } else { 
        // Everything is ready for fingerprint authentication 
    }
}
不要忘记在中添加访问指纹功能的权限 AndroidManifest:

<uses-permission android:name="android.permission.USE_FINGERPRINT" />
并使用FingerprintManagerCompat类,如下所示:

FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(context);

if (!fingerprintManagerCompat.isHardwareDetected()) { 
    // Device doesn't support fingerprint authentication     
} else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) { 
    // User hasn't enrolled any fingerprints to authenticate with 
} else { 
    // Everything is ready for fingerprint authentication 
}

我相信在旧版本的安卓系统中没有官方的指纹API可供应用程序使用。您可以检查API版本是否高于23,如果不是,则该设备没有可供使用的指纹传感器。

我相信旧版本的Android中没有可供应用程序使用的官方指纹API。您可以检查API版本是否高于23,如果不是,则设备没有可以使用的指纹传感器。

在清单文件中添加指纹权限并添加此代码以检测指纹硬件,请记住,这将仅在从电话设置启用指纹时检测


在清单文件中添加指纹权限并添加此代码以检测指纹硬件,请记住,这将仅在通过电话设置启用指纹时检测


没用。我为每个条件添加了一些toAST消息,并且没有任何事情发生在设备设置的指纹上,否则这个代码将无法检测指纹硬件,这是限制,如果指纹不能在设置中启用,那么Android将考虑没有指纹硬件的设备不起作用。我为每个条件添加了一些toAST消息,没有任何事情发生在设备设置的指纹上,否则这个代码就不会检测到指纹硬件,如果指纹没有在设置中启用,那么Android将考虑没有指纹硬件的设备。