首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android中捕获应用程序的后台返回

在android中捕获应用程序的后台返回
EN

Stack Overflow用户
提问于 2011-12-27 21:31:16
回答 5查看 2K关注 0票数 1

我已经创建了一个个人通讯录,根据群组、联系人、编辑、查看、删除-多个等业务需求,有大约10个活动。

如果应用程序被主页按钮或其他应用程序移动到后台,我需要捕捉应用程序从后台返回时的事件,每次都显示登录屏幕。

此外,请注意,如果同一通讯簿应用程序的另一个活动,登录屏幕不应显示。

我尝试使用每个activity的onResumeonStartonPauseonStop事件,方法是覆盖登录的各种activites中的功能,但这并不能满足应用程序处于前台并且只更改了一个activity的情况,然后这些事件也会被调用。

请提建议,谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-04 14:21:45

最后,我自己找到了它。

我成功地在所有活动上编写了一个基类,在这些活动中,分别对Intent和从Intent设置和获取变量。因此,如果应用程序移动到后台,稍后又转到前台,那么将找不到intent变量,在这里我显示了登录屏幕,而不是进入应用程序。

谢谢,每个提出方法的人,如果在任何地方走错了路或错误的方法,请告诉我。也感谢@midoalageb!

谢谢

票数 0
EN

Stack Overflow用户

发布于 2011-12-27 21:44:43

这类功能的最佳位置可能是onCreate方法。它是在从头开始创建应用程序时调用的。相反的方法是onDestroy,只有当系统为了释放一些内存而杀死你的应用程序(这种情况很少发生),或者你的应用程序被某种任务杀手明确杀死时,才会调用它。这意味着当您的活动转到后台然后返回到前台时- onCreate将不会被调用,您应该假设这一点。希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2011-12-27 21:41:07

我认为您可以在onPause()onStop()时将布尔变量设置为true,然后在onResume()中检查此变量以显示登录对话框。如果您需要更持久的方式,您可以将其保存在onPause()onStop的共享首选项中,并从onDestroy()的共享首选项中删除它。但请注意,如果焦点中的另一个应用程序需要内存,Android垃圾收集器将从内存中删除您的应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8645190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档