以前,FingerprintManager可以用于处理指纹身份验证,并且不依赖于某个活动才能通过系统对话框。它可以从任何地方使用,作为任何传感器管理器。
现在,谷歌已经在https://developer.android.com/reference/androidx/biometrics/BiometricPrompt中发布了支持库版本,并反对FingerprintManager。他们希望所有的应用程序都能通过一个统一的系统对话框。
大问题是-整个事情是强烈耦合到FragmentActivity。
我希望在AccessibilityService中使用此指纹认证(显示在其他应用程序之上)。
我们能做些什么?
我正在考虑的一些选择:
更新
接受了commonsware下面的回答。在获取可访问性事件时,我能够成功地在应用程序之上启动一个活动,并开始使用BiometricPrompt。不过,BiometricPrompt还有其他问题,它似乎是一个半生不熟的API,从来没有经历过压力测试,但这超出了这个问题的范围。
发布于 2018-12-01 19:17:16
回到旧的FingerprintManager,尽管受到了反对
这在较新的设备上可能不太好用。我怀疑,在生物识别安全性不是指纹的设备上,它也不能很好地工作。
实现一些透明的活动,以某种方式弹出高于其他应用程序,只是为了满足API对FragmentActivity的需求。
如果我站在你的立场上,我会走这条路。为此使用Theme.Translucent.NoTitleBar。
请注意,我不能保证这将在AccessibilityService中工作,并且显示任何形式的UI都会导致新的可访问性事件,您需要过滤掉这些事件。
https://stackoverflow.com/questions/53574218
复制相似问题