代码之家  ›  专栏  ›  技术社区  ›  Ashkan Mobayen Khiabani

后退按钮在第一个活动中的功能

  •  1
  • Ashkan Mobayen Khiabani  · 技术社区  · 6 年前

    通常,当单击后退按钮时,它会转到上一个活动,如果当前活动是第一个活动,则应用程序将关闭。

    我有一个启动屏幕(逻辑上这是我的第一个活动),然后加载菜单活动。

    我想关闭程序时,在我的菜单活动中按下后退按钮(好像它是第一个活动),并且避免再次回到飞溅屏幕,但是我知道我不应该退出程序。

    我想知道第一个活动的后退按钮有什么功能? 它让程序暂停了吗?

    4 回复  |  直到 6 年前
        1
  •  4
  •   lenik    6 年前
    1. Avoid splash screens 啊!

    2. 不要将splash用作主活动,而是将menu activity用作主活动,然后在 onCreate() 把喷溅活动连成一条链条,它将永远关闭并消失。

        2
  •  2
  •   Tomas Jablonskis    6 年前

    当从第一个活动启动新活动时,第一个活动将一直执行到onstop()方法,然后它将停止并等待重新启动,除非您通过调用.finish()终止它,在这种情况下,启动的活动将成为第一个活动,“后退”按钮将最小化按“后退”按钮时的应用程序。要控制应用程序在“后退”按钮上执行的操作,可以在活动中重写此方法并实现自己的自定义行为:

    @Override
    public void onBackPressed() {
        super.onBackPressed()
    }
    


    下面的图片展示了片段/活动的生命周期是如何工作的:

    enter image description here


    希望这有帮助。祝你好运。
        3
  •  1
  •   Pablo Navarro    6 年前

    当你在SplashScreen上时,在调用菜单活动的方法上,我假设你正在做如下事情 startActivity (new Intent (this, MenuActivity.class)); 在里面 Java startActivity(Intent(this, MenuActivity::class.java)) 对于 Kotlin 就在那通电话之后 finish() 这将从后面的堆栈中移除您的防溅屏

        4
  •  1
  •   Hassan Sadeghi    6 年前

    将此属性添加到启动活动(在清单中):

    android:excludeFromRecents="true"

    按每个活动返回,将控制权转移到堆栈(后堆栈)中未从“recents”中排除的上一个活动。