首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓finishAndRemoveTask多塞诺启动第二次活动

安卓finishAndRemoveTask多塞诺启动第二次活动
EN

Stack Overflow用户
提问于 2017-08-21 07:27:29
回答 2查看 661关注 0票数 0

安卓finishAndRemoveTask多塞诺启动第二次活动

这是第一次活动

代码语言:javascript
复制
Intent i = new Intent(currentAct.this, secondAct.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                i.putExtra("abcd", j);
                startActivity(i);

               finishAndRemoveTask();

如果我不添加finishAndRemoveTask();,它可以很好地工作,secondAct starts

这是舱单

代码语言:javascript
复制
       <activity
        android:name="currentAct"
        android:noHistory="true"
        android:theme="@style/Theme.AppCompat.Translucent"
        android:taskAffinity=".ShortCutActivity">

    </activity>

    <activity
        android:name="secondAct"
        android:noHistory="true"
         android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
        android:taskAffinity=".ShortCutActivity">

ShortCutActivity只是一个mainactivity

如何启动第二个活动并将第一个活动从堆栈中移除?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-21 07:33:04

在调用startActivity之前使用此方法(意图)

代码语言:javascript
复制
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
票数 3
EN

Stack Overflow用户

发布于 2017-08-21 07:35:11

您应该为启动意图添加标志FLAG_ACTIVITY_CLEAR_TASK

代码语言:javascript
复制
Intent intent = new Intent(this, Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
                Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

提到文档

如果在传递给Context.startActivity()的意图中设置了此标志,则此标志将导致在活动启动之前清除与该活动关联的任何现有任务。也就是说,该活动将成为一个空任务的新根,所有旧的活动都会完成。这只能与FLAG_ACTIVITY_NEW_TASK一起使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45791475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档