gpt4 book ai didi

android - 应用层 onPause

转载 作者:太空狗 更新时间:2023-10-29 15:19:16 26 4
gpt4 key购买 nike

我知道 Android 没有像 Activity 具有 onPause 那样的应用程序级 onPause,但看起来我需要类似的功能。我刚才问了一个(愚蠢的)问题(http://stackoverflow.com/questions/9508301/checking-the-manner-in-which-an-activity-has-been-reanimated)并意识到 onPause/onResume 会给我在寻找什么:知道 Activity 是否已降级到后台的能力(通过主页按钮、打开不同的应用程序、手机休眠等)。

问题是,当我从应用程序中的一个 Activity 转到另一个 Activity 时,onPause 也会在 Activity 中触发。因此,我正在寻找用户可以在我的应用程序中从 Activity 转到 Activity 的每一种方式(其中有 15 到 25 种),并在每个用户启动的 Activity 切换之前设置一个标志。然后在 onResume 中,我正在检查该标志,如果它是 X,我知道它是用户启动的 onResume。如果标志是 Y,我知道这是按下主页按钮、手机休眠等的结果)。

这看起来像是一团乱七八糟的大杂烩。有没有更好的办法?

(我添加这个是为了帮助,而不是为了混淆:我的目标是拥有一个(我知道这很烦人)密码屏幕,只要应用程序出于任何原因(甚至屏幕休眠)离开前台,它就会弹出。我计划使用 onPause/onResume 来检查何时弹出密码 Activity ,但每次更改 Activity 时都会触发 onPause,因此我需要添加更多内容。)

最佳答案

像 Pinnacle Locker 这样的应用程序做类似的事情——我相信它们会拦截特定包的 Intent,因此只要系统切换到应用程序就会触发,但不会在用户在应用程序之间切换屏幕时触发。

我可能误解了你,但另一种方法是改变你的方法:每当你在应用程序中从一个屏幕切换到另一个屏幕时,你要么启动一个 Intent 要么 finish()ing(例如当用户按下后退按钮),对吗?

然后您可以在您的内部 Intents 中设置一个标志,并且当您直接调用 finish() 或在您的应用程序中调用 onBackPressed() 时,您可以设置一个类似的标志。如果在您的应用中运行 onResume() 时未设置该标志,则您可以显示锁屏。

关于android - 应用层 onPause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9570839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com