android - finish()关闭app而不是活动

时间:2012-12-05 15:56:17

标签: android android-intent android-activity activity-finish

我是一个初学的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();

}

2 个答案:

答案 0 :(得分:1)

当一个活动在后台时,android系统将调用“onStop”方法,但你在方法“onStop”中调用方法“finish”,所以如果你跳转到另一个活动,前一个活动将被“onStop”破坏”。   你应该删除“onStop”方法中的“完成”。

答案 1 :(得分:-1)

如果您正在调用finish()来关闭当前活动并返回上一个活动,则只需调用onBackPressed()而不是finish()。它将返回上一个活动。