在我的申请中假设我有3个活动A,B,C。
在活动A的申请中,它转到B,从B转到C.
现在我想要的是用户是否在活动C
单击按钮时,它应转到活动B.我通过调用finish()
来实现此目的。但是在Activity C中,我收到了Server的响应。现在我想要的是在获得响应活动A之后必须被调用。(不在堆栈中存储活动B的历史记录)。怎么做到这一点?
答案 0 :(得分:2)
如果您只想销毁活动B等特定活动,则可以使用接收器。
// declare your receiver in ActivityB
private MyReceiver receiver;
// register your receiver in onCreate() to get broadcast
registerReceiver(receiver, new IntentFilter("DESTROY"));
// customize BroadcastReceiver to your need
class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("DESTROY"))
finish();
}
}
在ActivityC中,你可以发送一个接收器来销毁ActivityB,
sendBrodcast(new Intent("DESTROY");
ActivityB将获得此广播并自行完成。
答案 1 :(得分:1)
Intent intent = new Intent(C.this,A.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(意向);