我是一个初学的android程序员,我似乎有一个问题: 我用
打开新活动Intent newGameIntent = new Intent(actionName);
startActivity(newGameIntent);
并且每件事都很好,活动开始了。 但是当我调用finish()时它不会进入previus活动,只是关闭应用程序(没有错误或其他日志信息)
有没有人知道为什么会这样? 谢谢你的时间!
根据要求,这里有更多的代码(我可能完全搞砸了的东西): 第一项活动:
@Override
protected void onStop() {
super.onStop();
SplashScreen.sounds.releasSounds();
finish();
}
@Override
protected void onPause() {
super.onPause();
pauseActivity();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
gameLoop.resumeThread();
SplashScreen.sounds.resumeSounds();
}
private void pauseActivity() {
gameLoop.pauseThread();
SplashScreen.sounds.pauseBck();
}
和第一个调用秒活动的活动
Intent newGameIntent = new Intent("com.YuvalApps.menus.NEWGAMEMENU");
startActivity(newGameIntent);
和秒活动
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}
答案 0 :(得分:1)
当一个活动在后台时,android系统将调用“onStop”方法,但你在方法“onStop”中调用方法“finish”,所以如果你跳转到另一个活动,前一个活动将被“onStop”破坏”。 你应该删除“onStop”方法中的“完成”。
答案 1 :(得分:-1)
如果您正在调用finish()来关闭当前活动并返回上一个活动,则只需调用onBackPressed()而不是finish()。它将返回上一个活动。