有没有关于三星的Marshmallow更新是否会使用谷歌的新指纹API或继续使用他们的自定义SDK或两者的信息?
我看到他们已经开始滚动更新测试版测试人员,但这些在我的国家/地区不可用,我找不到其他信息.
android samsung-mobile android-6.0-marshmallow android-fingerprint-api
如何从我的应用程序启动指纹注册设置屏幕(添加指纹屏幕)?
注册指纹后,有没有办法导航回我的应用程序?(使用startActivityForResult)
众所周知,从 android 9.0 开始,android 引入了BiometricPrompt Api,以在越来越多的生物识别传感器(例如指纹、Face ID 等)中提供标准的身份验证体验。
现在有了这个新的 BiometricPrompt Api,用户可以通过指纹、面部扫描仪或虹膜扫描进行身份验证(取决于他们的生物识别偏好)。BiometricPrompt api 会处理这个问题,它会通过各种回调通知我们。
下面是我显示生物识别提示的代码。
biometricPrompt = new BiometricPrompt.Builder(context)
.setTitle("FingerPrint Authentication")
.setSubtitle("Login via Fingerprint")
.setDescription("Touch Fingerprint Sensor")
.setNegativeButton("Cancel", context.getMainExecutor(),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.d(TAG,"Cancelled");
}
})
.build();
Run Code Online (Sandbox Code Playgroud)
现在,如果您看到我的代码,我将标题设置为Fingerprint Authentication。现在在设备设置中,如果用户已将生物识别首选项设置为面容 ID而不是指纹,那么此biometricPrompt将通过面容ID对用户进行身份验证,即使用户一直触摸传感器,指纹传感器也不会工作。这会造成混淆,因为生物识别标题说“指纹身份验证”和用户实际上是通过faceID 进行身份验证的
有什么方法可以让我们知道用户选择了什么生物识别偏好(例如指纹或面容 ID)?因此,基于该偏好,我可以在 BiometricPrompt 上显示适当的消息,这样用户就不会感到困惑。
我已经从 BiometricPrompt 探索了所有 api,但可以找到任何与 BiometricPreference 相关的东西。
任何帮助将不胜感激。
android samsung-mobile android-fingerprint-api android-9.0-pie android-biometric-prompt
我想制作一个Android应用程序,该应用程序注册用户指纹(从设备的指纹扫描仪中获取)并将其存储在数据结构或密钥存储提供程序中,下一次用户放置指纹扫描仪时,应该从存储在数据中的指纹进行身份验证结构或来自android keystore provider。如果有人可以帮助我如何解决这个问题。提前致谢。
java android rsa-key-fingerprint android-studio android-fingerprint-api
当我的应用程序遇到"Too Many Attempts ..."时,身份验证错误0x7,FINGERPRINT_ERROR_LOCKOUT,如何在循环中调用FingerprintManager.authenticate()并获取锁定条件被清除的错误时如何判断?
我正在尝试通过指纹识别来实现指纹解锁或删除锁定视图,使用传感器现有的登记指纹进一步显示内容,但指纹认证在正常活动中正常工作但在自定义视图中无效,我也试图实现它在我的自定义屏幕锁定应用程序但其冲突或可能是由于资源不可用面临此错误"FINGERPRINT_ERROR_CANCELED"错误代码5
我不确定它是否由于资源不可用,因为同时内置安全密码/模式锁也使用相同的指纹传感器以及我自己的屏幕锁或自定义视图
此代码在活动中运行良好的代码
fingerprintHandler = new FingerprintHandler();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
keyguardManager =
(KeyguardManager) getSystemService(KEYGUARD_SERVICE);
mFingerprintManager =
(FingerprintManager) getSystemService(FINGERPRINT_SERVICE);
//
// generateKey();
// if (cipherInit()) {
// cryptoObject =
// new FingerprintManager.CryptoObject(cipher);
fingerprintHandler.setOnAuthenticationListener(new FingerprintManager.AuthenticationCallback() {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onAuthenticationError(int errorCode, CharSequence errString) {
Toast.makeText(FingerprintNormalActivity.this,
"Authentication error\n" + "Error code" + errorCode + "\nError String" + errString,
Toast.LENGTH_LONG).show();
imageViewSmokeImages.setImageResource(R.drawable.fingerprinterror);
tvstatus.setText("Authentication error\n" + "Error code" + errorCode + "\nError String" + errString);
}
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public …Run Code Online (Sandbox Code Playgroud) android android-custom-view screen-lock android-fingerprint-api
如何在Android应用程序的数据库中存储指纹数据以及用户名、图像、电子邮件等。我读了很多链接,但没有帮助。他们是
谢谢
我正在尝试实现指纹并且不确定它是否是一个问题但是在Android Nougat上永远不会询问USE_FINGERPRINT的权限.所以我从来没有得到对话框弹出窗口.我有ACCESS_FINE_LOCATION的实现,它可以工作(应用程序要求允许或拒绝).
在我的清单中:
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-feature
android:name="android.hardware.fingerprint"
android:required="false" />
Run Code Online (Sandbox Code Playgroud)
在片段中
if (ActivityCompat.checkSelfPermission(getActivity(),Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) {
Log.v(TAG, "NO permissions USE_FINGERPRINT");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Log.v(TAG, "No requestPermissions");
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.USE_FINGERPRINT}, FingerprintHandler.FINGERPRINT_PERMISSION);
}
return;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用此权限
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
Run Code Online (Sandbox Code Playgroud)
检查设备是否有指纹。这就是我在 kotlin 中检查它的方式
val fingerSensorManager = FingerSensorManager(this)
fingerSensorManager.isFingerPrintAvailable()
Run Code Online (Sandbox Code Playgroud)
它工作正常,但会Android 8 and above引发异常。
如何检查指纹并在所有版本中使用它?我知道还有另一种适用于 Android 8 及更高版本的方法,但我很困惑如何实现它以便它适用于每个设备
我最近将我的项目移到了 AndroidX,在为应用程序实现指纹时,我使用了 AndroidX 的生物识别技术。
implementation 'androidx.biometric:biometric:1.0.0-alpha03'
Run Code Online (Sandbox Code Playgroud)
当显示使用指纹进行身份验证的对话框时,该对话框将“取消”选项设置为否定按钮。
final BiometricPrompt.PromptInfo promptInfo = new BiometricPrompt.PromptInfo.Builder()
.setTitle("Log into App")
.setSubtitle("Please touch the fingerprint sensor to log you in")
.setDescription("Touch Sensor")
.setNegativeButtonText("Cancel".toUpperCase())
.build();
Run Code Online (Sandbox Code Playgroud)
根据android文档:https : //developer.android.com/reference/androidx/biometric/BiometricPrompt.PromptInfo.Builder.html#setNegativeButtonText(java.lang.CharSequence)
Required: Set the text for the negative button.
This would typically be used as a "Cancel" button, but may be also used
to show an alternative method for authentication,
such as screen that asks for a backup password.
Run Code Online (Sandbox Code Playgroud)
因此,代替“取消”按钮,我可以说“使用密码”来提供另一种方法,以防指纹失败,当用户点击它时,我可以显示另一个弹出对话框,让用户输入设备密码以帮助检索应用程序密码从密钥库。这样对吗 ?
但是,如果我没有设置密码来解锁手机,而是使用图案,会发生什么?
我看到如果我使用 android.hardware.biometrics.BiometricPrompt.Builder 而不是 androidx.biometric.BiometricPrompt.PromptInfo.Builder,它有一个方法https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt .Builder.html#setDeviceCredentialAllowed(boolean) …
android fingerprint android-fingerprint-api androidx android-biometric-prompt