以前,FingerprintManager 可用于处理指纹身份验证,并且不依赖 Activity 来通过系统对话框。它可以在任何地方使用,就像任何传感器管理器一样。
现在,谷歌已经在https://developer.android.com/reference/androidx/biometrics/BiometricPrompt发布了支持库版本, 并弃用了 FingerprintManager。他们希望所有应用程序都通过相同的统一系统对话框。
大问题是 - 整个事情都与 FragmentActivity 紧密耦合。
我希望在 AccessibilityService 中使用此指纹身份验证(显示在其他应用程序上)。
可以做什么?
我正在考虑的一些选项:
- 回到旧的 FingerprintManager 尽管已被弃用。
- 实现一些透明的 Activity,它会以某种方式弹出到其他应用程序之上,只是为了满足 API 对 FragmentActivity 的要求。
更新
下面接受了通用软件的答案。获取可访问性事件时,我能够在应用程序之上成功启动 Activity,并开始使用 BiometricPrompt。不过,BiometricPrompt 还有其他问题,它似乎是一个非常不成熟的 API,从未经过压力测试——但这超出了这个问题的范围。