2010-11-20 92 views
1

在我的申请中,我有三项活动。在我的第三个活动,如果我点击主页按钮它来到Android主屏幕(应用程序仍然运行在后台我注意到使用Log语句)。如果我重新启动应用程序,那么它从第一个活动开始。我如何从第三个活动加载它?任何人都可以给我你的建议....在Android的主页按钮?

在此先感谢....

回答

7

如果你点击home键,活动执行的方法:在onPause() - >的onStop();
当您重新启动应用程序时,活动将执行方法:onRestart() - > onStart() - > onResume() - > ....
通过这些方法控制活动。 我希望它能帮助你。

0

不,它不从第一个活动开始。如果您按主页按钮,然后通过按活动图标或通过家中的长按(应用程序切换器)启动活动,它将继续执行您所在活动的应用程序。

您可能在模拟器的开发设置中打开了“立即销毁”标志,或者您的内存可能太少,或者您已经自己杀死了该进程。在这些情况下,Android可能会破坏您的活动。然后它会重新开始活动。

RG

1

重写下面的方法。

@Override 
public void onAttachedToWindow() 
{ 
    Log.i("TESTE", "onAttachedToWindow"); 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 
} 

使用此方法,HOME按钮在此活动中停止工作(仅此活动)。然后你只需重新实现,因为这是一个正常的按钮事件(例如后退按钮)。

public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_HOME) { 
    Log.i("TESTE", "BOTAO HOME"); 
    return true; 
} 
return super.onKeyDown(keyCode, event);  

}