以前,FingerprintManager可以用于处理指纹身份验证,并且不依赖Activity来进行系统对话框。
它可以像任何传感器管理器一样在任何地方使用。

现在,Google已在https://developer.android.com/reference/androidx/biometrics/BiometricPrompt中发布了支持库版本
和不推荐使用的FingerprintManager。
他们希望所有应用都通过相同的统一系统对话框。

最大的问题是-整个事情与FragmentActivity紧密相关。

我希望在AccessibilityService中使用此指纹身份验证(通过其他应用程序显示)。

该怎么办?

我正在考虑的一些选择:


尽管已弃用,但仍返回旧的FingerprintManager。
实现一些透明的Activity,以某种方式将其弹出到其他应用程序之上,只是为了满足API对FragmentActivity的要求。


更新

在下面接受了常见软件的答案。
在获得可访问性事件时,我能够在应用程序之上成功启动“活动”,并开始使用BiometricPrompt。尽管BiometricPrompt还有其他问题,但看起来好像半生半熟的API从未经过压力测试-但这超出了此问题的范围。

最佳答案

尽管已弃用,但返回到旧的FingerprintManager


在较新的设备上可能无法正常工作。我怀疑它在生物识别安全性不是指纹的设备上也无法正常工作。


  实现一些透明的Activity,以某种方式将其弹出到其他应用程序之上,只是为了满足API对FragmentActivity的要求。


如果我穿上你的鞋子,我会走这条路。为此使用Theme.Translucent.NoTitleBar

请注意,我不能保证这将在AccessibilityService中起作用,并且显示任何形式的UI都会导致您需要过滤掉新的可访问性事件。

10-08 06:19