如何在Kotlin中关闭Android应用程序

Vec*_*tor 2 android android-intent kotlin

在JAVA中,我们可以关闭该应用程序。我们试图与Kotlin一起开发技能,并感到我们正在使用正确的语法关闭该应用程序。问题是,仅当您在转到第二页并返回MainActivity之前关闭应用程序时,该代码才起作用,这是下面的启动器活动代码

    fun onTV(view: View){
    exitProcess()
}

private fun exitProcess() {
    //finish()
    System.exit(-1)
}
Run Code Online (Sandbox Code Playgroud)

如果首先选择finish和System.exit(-1),则它们都可以工作,而无需导航到PageTwoActivity

onTV是TextView的onClick属性。我的猜测是我们需要清除Stack buy设置标志,所以问题是Kotlin的语法是什么?记住,我们在启动器页面MainActivity上。我们需要结果的意图吗?

好吧,我尝试了此代码,没有任何改善

    val intent = Intent(context, MainActivity::class.java)
    intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOIntent.FLAG_ACTIVITY_NEW_TASK
    finish()
Run Code Online (Sandbox Code Playgroud)

我们靠近的是现在的代码,问题仍然是,如果您不导航到PageTwo并在启动后立即单击按钮以关闭应用程序,则它将关闭应用程序

    fun onTV(view: View){
    onBYE()
}

 fun onBYE() {
     exitProcess(-1)
 }
Run Code Online (Sandbox Code Playgroud)

所以我想问题是执行onBYE时如何从堆栈中清除PageTwo?

小智 7

格林德尔(Grendel)是关闭Kotlin应用程序的绝对最简单的两种方法,第一种方法是在重新加载时打开PageTwo上的应用程序,效果不太好,但我包括有人闪屏的可能性

     moveTaskToBack(true);
     exitProcess(-1)
Run Code Online (Sandbox Code Playgroud)

第二种方法是如此简单和古老,您将大喊大叫。它将关闭Kotlin应用程序,并在重新加载后首先显示MainActivity

finishAffinity()
Run Code Online (Sandbox Code Playgroud)

我使用Nexus 9 API 26进行了测试,我没有三星Galaxy S2,但是随时可以给我发邮件