我期待着开始使用Marshmallow指纹认证API.我理解要求获得许可,我必须使用以下方法:
ContextCompat.checkSelfPermission(getContext(), Manifest.permission.USE_FINGERPRINT);
Run Code Online (Sandbox Code Playgroud)
我必须检查设备是否正在运行API级别23或更高级别.但在我要求许可之前,我想检查设备是否真的有一个指纹扫描仪开始.我找到了以下两种方法来检查:
FingerprintManager manager = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
manager.isHardwareDetected();
manager.hasEnrolledFingerprints();
Run Code Online (Sandbox Code Playgroud)
但是这两种方法都需要被USE_FINGERPRINT许可才能被调用.为什么我要求使用我甚至不知道存在的指纹扫描仪?有没有其他方法可以确定扫描仪是否存在?或者是首先要求许可的唯一方法?
android android-permissions android-6.0-marshmallow android-fingerprint-api
我正在开发一个需要指纹才能打开活动的Android应用程序.我刚注意到,当我使用指纹解锁手机时,在我的应用程序中扫描指纹的次数仅为4.
例如:
电话已解锁
使用指纹解锁手机
打开我的指纹应用
无法尝试扫描指纹超过4次
另一种情况:
指纹应用程序是开放的
只接受5次尝试,app将不再尝试扫描指纹
等待一段时间,再次,只接受一次持续时间内的5次尝试
这有解决方法吗?
encryption android fingerprint android-security android-fingerprint-api
我正在对使用android指纹身份验证的应用程序进行一些测试.此应用程序仅允许指纹身份验证,但可以使用锁定屏幕模式添加新指纹,并使用新指纹对应用程序进行身份验证.我注意到,当添加新指纹时,Google Play商店需要重新输入密码.
我的问题是:如何使用指纹API检查是否添加了新指纹以在我自己的应用程序中实现相同的行为?
当我尝试运行用于指纹验证的示例应用程序时,将引发以下异常。
我尝试过的设备是:
三星S5(Android 6.0.1 API 23)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: java.security.InvalidAlgorithmParameterException: java.lang.IllegalStateException: At least one fingerprint must be enrolled to create keys requiring user authentication for every use
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi.engineInit(AndroidKeyStoreKeyGeneratorSpi.java:238)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi$AES.engineInit(AndroidKeyStoreKeyGeneratorSpi.java:53)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at javax.crypto.KeyGenerator.init(KeyGenerator.java:189)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at com.netfinitymedia.notubeapp.authentication.VerificationActivity.generateKey(VerificationActivity.java:177)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at com.netfinitymedia.notubeapp.authentication.VerificationActivity.initialize(VerificationActivity.java:131)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at com.netfinitymedia.notubeapp.authentication.VerificationActivity.onCreate(VerificationActivity.java:63)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at android.app.Activity.performCreate(Activity.java:6876)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
07-08 03:31:57.796 30558-30558/com.netfinitymedia.notubeapp W/System.err: …Run Code Online (Sandbox Code Playgroud) 为我的团队做研究。我看到如何在 Android 模拟器中添加指纹并发送了一个很好的事件。
adb -e emu finger touch <finger_id>
Run Code Online (Sandbox Code Playgroud)
如果我想测试坏指纹怎么办?
谢谢
android fingerprint android-emulator android-fingerprint-api
我在应用程序中实现了指纹身份验证,这在一周前工作正常.没有更改代码,我现在收到以下错误:
FATAL EXCEPTION: main
Caused by: java.lang.IllegalStateException: Crypto primitive not initialized
Run Code Online (Sandbox Code Playgroud)
我不知道发生了什么,因为代码中没有任何改变,甚至通过干净的分支来验证.
下面是我在应用程序中使用的依赖项列表.
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.1'
compile 'com.android.support:design:23.+'
compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
compile 'com.squareup.okhttp:okhttp:2.7.1'
compile 'org.jdeferred:jdeferred-android-aar:1.2.4'
compile 'com.google.code.gson:gson:1.7.2'
compile "com.mixpanel.android:mixpanel-android:4.6.4"
compile "com.google.android.gms:play-services:3.1+"
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
transitive = true;
}
compile 'io.branch.sdk.android:library:1.+'
compile 'com.parse.bolts:bolts-applinks:1.4.0'
compile 'com.github.greenfrvr:rubber-loader:1.1.2@aar'
compile 'com.github.deano2390:MaterialShowcaseView:1.0.6@aar'
Run Code Online (Sandbox Code Playgroud)
关于这些新的API,我应该注意什么?
我正在开发一个应用程序,用户可以使用指纹登录.据我所知,指纹存储依赖于本地操作系统.如果我想通过服务器端实现这一点,我怎样才能使它工作?
防爆.如果用户输入用户名,将要求他或她输入密码或使用他的指纹登录.根据用户名和指纹,他/她所需的角色将被识别.
请添加您宝贵的回复.
对于正在工作的项目,我试图在Android设备上获取指纹传感器的状态(工作或有缺陷)以查看它是否正常工作.
我在这个 android 6.0 API(APK 23)中使用"isHardwareDetected"功能.
有谁知道操作系统如何在不涉及用户的情况下获取有关指纹传感器适当性的信息?
我有一个手机(注4)与工作指纹传感器从isHardwareDetected得到错误,我无法解释原因.
谢谢,毛尔.
android fingerprint samsung-mobile android-fingerprint-api samsung-galaxy
我正在寻找在 Android Marshmallow 中检测哪个手指用于设备身份验证。用于获取成功身份验证的回调是 -
onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result)
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何使用 FingerprintManager.AuthenticationResult 对象来检测用于身份验证的手指。
对此任何帮助表示赞赏。
java android fingerprint android-6.0-marshmallow android-fingerprint-api
我需要开发一个具有 MFA 身份验证的 Android 应用程序。
要登录,用户需要首先输入用户名和密码,然后输入生物识别数据(指纹、面部或虹膜)以确认其身份。
我想使用像 Cognito 这样的东西来存储生物识别登录信息,但老实说,我真的不明白我会如何做到这一点。
这可行吗?
如果是这样,怎么办?
android face-recognition amazon-web-services amazon-cognito android-fingerprint-api