我正在尝试在我的 android 应用程序中实现指纹身份验证。
我正在使用这个库:https : //github.com/infinum/Android-Goldfinger,它使用 BiometricPrompt 并且效果很好。问题是我需要在锁定屏幕上显示的活动中使用它。特别是该活动正在使用这些标志:
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD)
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON)
Run Code Online (Sandbox Code Playgroud)
当活动正常启动时(不是在锁屏上),指纹认证对话框会弹出并且运行良好。相反,当活动显示在锁定屏幕上时,指纹验证对话框不会出现。
我已经阅读了使用旧(和已弃用)API 的 FingerprintManager,我不想使用它。
有没有办法在 BiometricPrompt 对话框中应用这些标志?或者根本不允许在锁定屏幕上显示对话框?
我正在使用 hapi.js 和 mongodb 创建一个 node.js api 服务器,但在 Amazon EC2 上运行时遇到了一些问题。在本地运行它可以工作,但如果我在 EC2 实例上运行它,我会收到错误TypeError: Cannot read property 'statusCode' of null
完整的堆栈跟踪如下:
TypeError: Cannot read property 'statusCode' of null
at Request._finalize (/home/ec2-user/backend/node_modules/@hapi/hapi/lib/request.js:497:31)
at Request._reply (/home/ec2-user/backend/node_modules/@hapi/hapi/lib/request.js:434:18)
at Request._execute (/home/ec2-user/backend/node_modules/@hapi/hapi/lib/request.js:280:14)
at processTicksAndRejections (node:internal/process/task_queues:93:5)
Run Code Online (Sandbox Code Playgroud)
奇怪的部分是 GET 请求正在工作,而 PUT、POST 和 DELETE 正在抛出上述错误。我已经设置 server.js 如下:
...
const init = async () => {
const server = Hapi.server({
port: 3000,
});
//server.route(routes);
server.route([
{
method: "GET",
path: "/test",
handler: async (request, h) => {
return "workin GET"; …Run Code Online (Sandbox Code Playgroud)