我正在尝试从某些活动中为我的应用程序添加锁定功能,并且我想确保如果用户按下锁定按钮,用户将无法按下并转到任何过去的活动。因此,锁定后用户手机上的返回将把用户带到手机的家中。
我试过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();
}
});
答案 0 :(得分:1)
FLAG_ACTIVITY_CLEAR_TOP
只有当您要重新启动第一个活动时才会清除堆栈,但在您的情况下,您正在启动一个新活动。所以它不会清除以前的活动。
您可以做一件事来实现您的要求 -
创建一个接口并在所有活动中实施。
然后当您要启动LockActivity时,在调用Interface的委托之前完成所有活动。