我有一个安静的大应用程序,有时用户使用HOME BUTTON
'退出'应用程序或他接到一个电话等,但当他再次点击图标时,应用程序恢复。如何在重新启动应用程序之前启动一项活动?
我想要的是每次发生这种情况时,应用程序会在登录活动(安全过程)上重新启动,然后再退出应用程序之前继续运行上一个活动。
我有一个安静的大应用程序,有时用户使用HOME BUTTON
'退出'应用程序或他接到一个电话等,但当他再次点击图标时,应用程序恢复。如何在重新启动应用程序之前启动一项活动?
我想要的是每次发生这种情况时,应用程序会在登录活动(安全过程)上重新启动,然后再退出应用程序之前继续运行上一个活动。
传递一个额外的任何活动,您登录后拨打:intent.putExtra("isLogin", "Yes");
在每一个活动,您拨打:
声明场boolean isLogin;
在的onCreate:
Intent sender = getIntent();
isLogin = sender.getStringExtra("isLogin","No") == "Yes";
在onResume的每项活动都是这样做的:
if(isLogin){
isLogin = false;
}else{
callActivityLogin();
}
当HOME按钮被按下时,我相信你的活动的onStop()
和/或onPause()
函数将被调用。覆盖这些方法之一并设置成员变量来检查您的活动是否中断。现在覆盖onResume()
检查该变量以确定是否要开始登录活动。
希望这个想法让你朝正确的方向发展。
您也可以考虑创建一个扩展Activity的超类,并覆盖onStop()
/onPause()
/onResume()
方法以展现此功能。这样,除了登录活动之外,您的所有活动都可以扩展此类,从而使您可以在一个位置放置所需的功能。
2个问题:首先他会怎么知道他是否登录了?第二个问题是,如果我调用登录活动,它将重新启动整个过程,我想要它调用正在运行的活动 – user2137817
您可能需要重构登录活动代码以处理两种情况:第一次登录和后继登录。在第二种情况下,如果登录成功,只需要调用finish()返回上一个活动。 – ramaral
我知道,但问题是如何以编程方式做到这一点,这就是为什么我发布的问题 – user2137817