使用intent启动活动并禁用后退按钮以启动上一个活动

时间:2014-01-16 06:16:34

标签: android back-button android-intent

在我的申请中。我有一个login屏幕。如果登录成功,将启动tab activity,其中有4个选项卡。当我按下选项卡中的一个按钮时,将启动一个新活动。我的login课程中有一个事件会在某些情况下被解雇。我想在事件被触发时返回标签活动。我用Intent编写了一个代码。该代码工作正常。但是在达到标签活动后,我不想在按下后退按钮时返回活动状态。我想删除它。我想在按下Back时显示登录信息。有没有办法做到这一点?这是我用过的代码:

Intent tabi=new Intent(getApplicationContext(),Tab.class);
startActivity(tabi);

标签活动中的代码onkeydown为:

    @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {


        super.onKeyDown(keyCode, event);
        return true;
    }
    return false;
}

5 个答案:

答案 0 :(得分:10)

Intent tabi=new Intent(getApplicationContext(),Tab.class);
            startActivity(tabi);
finish();

答案 1 :(得分:7)

只需调用finish();启动活动后的方法。它会阻止后退按钮

像:

Intent tabi=new Intent(getApplicationContext(),Tab.class);
startActivity(tabi);
finish();

答案 2 :(得分:4)

使用 onBackPressed 并开始您的活动

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
   Intent intent = new Intent(Tab.this , Login.class);
   startActivity(intent)
}

您可以使用以下代码清除历史记录:用户无法从登录页面返回到访问页面

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

答案 3 :(得分:2)

当事件被触发时,使用这些意图标志调用tab活动

Intent tabi=new Intent(getApplicationContext(),Tab.class);
tabi.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(tabi);

答案 4 :(得分:1)

回到登录界面,可以通过两种方式实现:

第一种方法是,(假设您当前正在登录scren)使用Intent导航到下一个活动,而不完成当前活动,而在onBackPressed()内您只需要调用{{ 1}}。

第二种方式是,如果您finish()登录活动,则只需使用finish()导航至login活动,然后完成标签活动。

简单。使用Intent进入登录界面:

Intent