zoukankan      html  css  js  c++  java
  • 【起航计划 011】2015 起航计划 Android APIDemo的魔鬼步伐 10 App->Activity->Reorder Activities 后退栈 Intent FLAG

    Reorder Activities 示例有四个相关的Activitives: ReorderOnLaunch, ReorderTwo,ReorderThree, ReorderFour。其中ReorderOnLaunch为主Activity,ReorderOnLaunch启动ReorderTwo ,ReorderTwo启动 ReorderThree,ReorderThree启动 ReorderFour。 这时在Activity的”back stack”有如下状态:

    ReorderFour 想再启动ReorderTwo, 这时用两种实现方法,一是在 RecordFour之上再启动一个新的 ReorderTwo ,这是startActivity的缺省行为。这是因为在AndroidManifest.xml:

    <activity android:name=”.app.ReorderTwo” />
    <activity android:name=”.app.ReorderThree” />
    <activity android:name=”.app.ReorderFour” />

    .app.RecordTwo没有定义任何这个Intent的Flag。 比如有 FLAG_ACTIVITY_NEW_TASK,FLAG_ACTIVITY_CLEAR_TOP,FLAG_ACTIVITY_SINGLE_TOP,在这些情况下 Android将根据不同Flag设置来决定启动RecordTwo的方法,具体在后面的例子会有介绍。

    在Reorder Activities例子中,是将“Back Stack”中的ReorderTwo移到栈顶,方法是在启动Intent时设置 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT。如果设置了 FLAG_ACTIVITY_REORDER_TO_FRONT表示将“Back Stack”中指定的Activity移动到栈顶。

        Intent intent = new Intent(ReorderFour.this, ReorderTwo.class);  
        intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);  
        startActivity(intent);  

    此时栈如下图所示:

  • 相关阅读:
    如何使用谷歌学术
    联合省选 2021 游记
    生成one-hot的方法
    GraphSAGE
    maven仓库如何引入本地jar包,Maven多种方式打可执行jar包
    DDL任务管理语句
    使用本地EDAS注册多个中台服务,供本地测试使用
    启动轻量级配置及注册中心EDAS
    端口被占用如何解决
    java8中Collectors.groupingBy 用法
  • 原文地址:https://www.cnblogs.com/dongdong230/p/4310553.html
Copyright © 2011-2022 走看看