在android中返回两个活动

时间:2014-01-27 10:27:12

标签: android android-intent android-activity

在我的申请中假设我有3个活动A,B,C。

在活动A的申请中,它转到B,从B转到C.

现在我想要的是用户是否在活动C

单击按钮时,它应转到活动B.我通过调用finish()来实现此目的。但是在Activity C中,我收到了Server的响应。现在我想要的是在获得响应活动A之后必须被调用。(不在堆栈中存储活动B的历史记录)。怎么做到这一点?

2 个答案:

答案 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(意向);