我已经创建了一个个人通讯录,根据群组、联系人、编辑、查看、删除-多个等业务需求,有大约10个活动。
如果应用程序被主页按钮或其他应用程序移动到后台,我需要捕捉应用程序从后台返回时的事件,每次都显示登录屏幕。
此外,请注意,如果同一通讯簿应用程序的另一个活动,登录屏幕不应显示。
我尝试使用每个activity的onResume、onStart、onPause和onStop事件,方法是覆盖登录的各种activites中的功能,但这并不能满足应用程序处于前台并且只更改了一个activity的情况,然后这些事件也会被调用。
请提建议,谢谢!
发布于 2012-01-04 14:21:45
最后,我自己找到了它。
我成功地在所有活动上编写了一个基类,在这些活动中,分别对Intent和从Intent设置和获取变量。因此,如果应用程序移动到后台,稍后又转到前台,那么将找不到intent变量,在这里我显示了登录屏幕,而不是进入应用程序。
谢谢,每个提出方法的人,如果在任何地方走错了路或错误的方法,请告诉我。也感谢@midoalageb!
谢谢
发布于 2011-12-27 21:44:43
这类功能的最佳位置可能是onCreate方法。它是在从头开始创建应用程序时调用的。相反的方法是onDestroy,只有当系统为了释放一些内存而杀死你的应用程序(这种情况很少发生),或者你的应用程序被某种任务杀手明确杀死时,才会调用它。这意味着当您的活动转到后台然后返回到前台时- onCreate将不会被调用,您应该假设这一点。希望这能有所帮助。
发布于 2011-12-27 21:41:07
我认为您可以在onPause()和onStop()时将布尔变量设置为true,然后在onResume()中检查此变量以显示登录对话框。如果您需要更持久的方式,您可以将其保存在onPause()和onStop的共享首选项中,并从onDestroy()的共享首选项中删除它。但请注意,如果焦点中的另一个应用程序需要内存,Android垃圾收集器将从内存中删除您的应用程序。
https://stackoverflow.com/questions/8645190
复制相似问题