【发布时间】:2020-06-21 10:50:22
【问题描述】:
我们有一个问题,我们想用指纹/TouchID/FaceID 保护整个应用程序。这里我只会提到指纹,它总是指local_auth的所有生物特征。这部分地与函数“didChangeAppLifecycleState”配合得很好,但只是部分地。
由于在 iOS 下,应用程序在查询指纹时变为非活动状态,因此在“AppLifecycleState.resumed”处查询时,查询会进入连续循环。因此,我们在“AppLifecycleState.pause”处设置了一个时间戳,并仅在应用程序暂停后 x 秒后才在恢复时查询指纹。我们现在也将其设置为稍高的时间,这样如果您必须从应用程序切换到相机,锁定不会立即继续。当然还有更多的检查,但这是目前的基本思路。
这里是flutter需要一些时间执行暂停的问题。 iOS 和安卓都有。因此,如果您现在快速最小化应用程序并再次打开它(因为最小化可能是一个意外?),指纹直接来了。没什么严重的,但不愉快。
我们真正的问题,我无法真正理解,因为我也不知道如何调试它。如果长时间没有使用该应用程序,尤其是在周末之后的星期一,那么工作同事会遇到一个问题,他们可以简单地启动应用程序而无需指纹。到目前为止只注意到iOS下,因为同事都使用iOS,但不排除在Android下也可能发生。
我只是不知道如何解决它。有没有人有这方面的经验?或者有没有一种非常简单的方法可以在flutter中使用指纹,这样你就可以只用指纹打开应用程序,可能在与“@987654324”完全不同的地方@"?
亲切的问候, 雅各布
【问题讨论】:
-
嗨,Jacob,你找到解决办法了吗?
-
@VCezar 不是真的,对不起。我们现在使用一个更复杂的解决方案与 bloc 模式。
标签: android ios flutter fingerprint touch-id