1

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

我尝试了 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();
    }
});
4

1 回答 1

1
  FLAG_ACTIVITY_CLEAR_TOP    

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

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

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

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

于 2013-01-31T16:19:58.883 回答