如何检测用户何时通过"Recent apps"返回应用程序?



我的应用程序中有自己的 PIN 码活动,每次用户返回应用程序时(首次启动或应用程序处于后台时(都会弹出。我发现奇怪的是,某些银行应用程序可以以某种方式检测到用户何时通过"最近的应用程序"跳转到另一个应用程序,然后返回银行应用程序(在这种情况下,PIN活动不会显示在这些应用程序中(。他们是怎么做到的,当从最近的应用程序返回时,不会触发 PIN 码活动?

我尝试了androidX的LifecycleObserveComponentCallbacks2

目前,我正在使用registerActivityLifecycleCallbacks来检测用户何时离开应用程序,但我不知道如何以编程方式区分这两种情况?有什么想法吗?

我的应用程序中有自己的 PIN 码活动,每次用户返回应用程序时(首次启动或应用程序处于后台时(都会弹出。我发现奇怪的是,某些银行应用程序可以以某种方式检测到用户何时通过"最近的应用程序"跳转到另一个应用程序,然后返回银行应用程序(在这种情况下,PIN活动不会显示在这些应用程序中(。

是什么让您如此确定他们检测到您是从"最近的应用程序"回来的?如果您转到银行应用程序,按返回关闭应用程序,然后从应用程序列表中重新启动它,则可能不会提示您输入 PIN 或密码。

如果您离开应用程序的时间足够长,然后从"最近的应用程序"返回该应用程序,系统可能会提示您输入 PIN 或密码。

这些应用程序很可能采用某种基于时间的启发式方法,尽管这当然会因应用程序而异。

他们是怎么做到的,当从最近的应用程序返回时,不会触发 PIN 码活动?

我不知道"他们是怎么做到的",但至于"我怎么知道我的活动是从最近的开始的"的问题?尝试在您的意图中寻找FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY。

希望对您有所帮助!

最新更新