在android中进行两项活动[重复]

Posted

技术标签:

【中文标题】在android中进行两项活动[重复]【英文标题】:going two activities back in android [duplicate] 【发布时间】: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 【参考方案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); 开始活动(意图);

【讨论】:

以上是关于在android中进行两项活动[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Android:底部弹出活动

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com/google/androi

在Android中将数据从基本活动发送到片段[重复]

Android:绝对清除活动

在 Android Marshmallow 检查权限

如何更改 Android Studio 中每个活动的工具栏名称?