链接
在Android上,我开始了4个活动A,B,C,D,如果我想从D回到A,我可以使用'intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)'。但是,如果活动是按如下方式打开的相同类活动,我现在如何从 D 返回到 A?
Intent i = new Intent(FlagsTest.this, FlagsTest.class);
startActivity(i);
您可以像这样开始任何您想要的活动以将它们放在前面:要从 D 返回到 A,请执行以下操作:
Intent i = new Intent(context, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
试试这段代码
Intent intent = new Intent(this, Class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
使用本教程它将帮助U
尝试这种方式,希望这能帮助您解决问题。
1.在主活动或应用程序活动上编写此代码。
private KillReceiver clearActivityStack;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
clearActivityStack = new KillReceiver();
registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain"));
// register to clear stack
}
private final class KillReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(clearActivityStack); // unregister to clear stack
}
2.在启动活动之前编写此代码
Intent intent = new Intent("clearStackActivity");
intent.setType("text/plain");
sendBroadcast(intent);
3.开始你的活动
Intent intent = new Intent(this, Class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);