清除所有过去的活动

时间:2013-01-31 15:40:27

标签: android android-intent

我正在尝试从某些活动中为我的应用程序添加锁定功能,并且我想确保如果用户按下锁定按钮,用户将无法按下并转到任何过去的活动。因此,锁定后用户手机上的返回将把用户带到手机的家中。

我试过CLEAR_TOP,但这不是诀窍,任何想法为什么?

    Button lockButton = (Button) findViewById(R.id.lockButton);
lockButton.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
        Intent intent = new Intent(AccountListActivity.this, LockActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        finish();
    }
});

1 个答案:

答案 0 :(得分:1)

  FLAG_ACTIVITY_CLEAR_TOP    

只有当您要重新启动第一个活动时才会清除堆栈,但在您的情况下,您正在启动一个新活动。所以它不会清除以前的活动。

您可以做一件事来实现您的要求 -

创建一个接口并在所有活动中实施。

然后当您要启动LockActivity时,在调用Interface的委托之前完成所有活动。