在我的申请中,我有三项活动。在我的第三个活动,如果我点击主页按钮它来到Android主屏幕(应用程序仍在后台运行,我注意到使用Log语句)。如果我重新启动应用程序,那么它从第一个活动开始。如何从第三个活动中加载它?任何人都可以给我你的建议......
提前致谢....
答案 0 :(得分:7)
如果单击主页按钮,活动将执行以下方法:onPause() - >的onStop();
重新启动应用程序时,活动将执行以下方法:onRestart() - > onStart() - > onResume() - > ....
通过这些方法控制活动。
我希望它会对你有所帮助。
答案 1 :(得分: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);
}
答案 2 :(得分:0)
不,它不是从第一次活动开始的。如果您按主页按钮,然后按活动图标或通过长按主页(应用程序切换器)启动活动,它将继续您所在活动的应用程序。
您可能已经在模拟器的开发设置中打开了“立即销毁”标志,或者您可能剩余的内存太少,或者您自己已经杀死了该进程。在这些情况下,Android可以破坏您的活动。然后它将以启动活动重新启动。
RG