当用户从任何屏幕注销应用程序时如何返回主屏幕?

时间:2016-11-03 19:48:18

标签: java android

当我从第二个活动注销我的应用程序(按下注销菜单按钮),然后它重定向到登录页面但是当我再次按下按钮再次显示第二个屏幕活动时,它应该是按下后面的主屏幕,因为我使用完成()方法但仍然没有进入主屏幕。然后我做什么? 这是我的代码。

      @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.second_adapter, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();


    if (id == R.id.logout_sec_Act) {
        session.logoutUser();
        finish();
        Toast.makeText(Second_activity.this, "Logout...", Toast.LENGTH_LONG)
                .show();

    } 


    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

2 个答案:

答案 0 :(得分:-1)

我建议您创建方法customFinish()方法并将Intent放回主要活动并在需要时调用它。

public void customFinish() {
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
}

答案 1 :(得分:-1)

这是因为您之前的活动仍然在您的任务的后台。解决问题的一种方法是在注销时转移到新的空任务,如下所示:

Intent logoutIntent = new Intent(this, MainActivity.class);
logoutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(logoutIntent);