【问题标题】:going two activities back in android [duplicate]在android中进行两项活动[重复]
【发布时间】:2014-02-18 03:29:42
【问题描述】:

在我的应用程序中假设我有 3 个活动 A、B、C。

在应用程序中,从 Activity A 到 B,从 B 到 C。

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

当它单击按钮时,它应该转到活动 B。我通过调用 finish() 实现了这一点。但是在活动 C 中,我收到了来自服务器的响应。现在我想要的是在必须调用响应活动 A 之后。(不将活动 B 的历史存储在堆栈中)。如何做到这一点?

【问题讨论】:

  • 你为什么不带着意图从活动C开始活动A?
  • @fedorSmirnov 然后点击返回它会再次调用活动 C

标签: android android-intent android-activity


【解决方案1】:

如果你只想销毁一个特定的Activity,比如Activity B,你可以使用receiver。

// 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中,可以发送一个receiver来销毁ActivityB,

sendBrodcast(new Intent("DESTROY");

ActivityB 将获得此广播并自行完成。

【讨论】:

    【解决方案2】:

    Intent 意图 = new Intent(C.this,A.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 开始活动(意图);

    【讨论】:

      猜你喜欢
      • 2013-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      相关资源
      最近更新 更多