android上的页面返回 - 捕获它是由于按下后退按钮

时间:2013-11-25 10:48:16

标签: java android

页面是否知道由于按下后退按钮而导致它被加载?我们有一个全局例程,可以按下后退按钮,发出通知,然后继续super.onBackPressed();

这一切都很好,但是在某些情况下页面被向前跳转的实例 - 所以当一个后退按钮被按下之后它再次进入循环并再次向前转发页面。

基本上我希望上一页在psudo

中有一个if转发
if(page-load-is-a-result-of-the-back-button){
finish(); 
   } else { 
dothejumpforward;
}

很像.nets如果ispostback类型的东西?

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

如果您的活动从其他活动中获得控制权,那么它很简单,因此Oncreate不会被调用,而OnResume将被调用。把一个bool值检查一下,......

例如:在OnPause()内设置bool paused = true;

OnResume()

If(paused) //Its a result

enter image description here

答案 1 :(得分:0)

您在主活动中创建一个静态变量,这是您使用应用启动的第一个活动。我们会说:public static int backFromActivity;

因此,当您在Activity2中按后退按钮时,您将覆盖onBackPressed方法,并且在调用此方法时设置MainActivity.backFromActivity = 2;

现在,在Activty1的onResume方法中,您可以查看到达此内容的活动。 if ( MainActivity.backFromActivity == 2 ) // do stuff