在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);
答案 0 :(得分:3)
您可以开始任何您想要的活动,将它们带到前面: 要从D回到A,请执行以下操作:
Intent i = new Intent(context, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
答案 1 :(得分:1)
尝试此代码
Intent intent = new Intent(this, Class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
使用本教程它将帮助U LINK
答案 2 :(得分:1)
试试这种方式,希望这可以帮助您解决问题。
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);