Android 即使我完成了应用程序,它仍会继续返回到以前的活动

Android 即使我完成了应用程序,它仍会继续返回到以前的活动,android,kotlin,Android,Kotlin,由于某种原因导航不起作用 我有一个应用程序有两个活动,一个是登录活动,另一个是家庭活动,当我登录时,我显示家庭活动,但问题是当我按下手机上的后退按钮时,家庭活动返回到家庭活动,另一个问题是,当我注销时,我完成家庭活动并再次显示登录活动,但由于某些原因,当我按下“后退”按钮时,它将返回到主活动,我尝试了“完成()”,我尝试了意图标志,但似乎没有任何效果,我将在下面留下我的代码: 登录功能 fun login(){ //AsyncLogin().execute() val manag

由于某种原因导航不起作用

我有一个应用程序有两个活动,一个是登录活动,另一个是家庭活动,当我登录时,我显示家庭活动,但问题是当我按下手机上的后退按钮时,家庭活动返回到家庭活动,另一个问题是,当我注销时,我完成家庭活动并再次显示登录活动,但由于某些原因,当我按下“后退”按钮时,它将返回到主活动,我尝试了“完成()”,我尝试了意图标志,但似乎没有任何效果,我将在下面留下我的代码:

登录功能

fun login(){
    //AsyncLogin().execute()
    val manager = DataManager()
    var login = LoginModel()
    login.idSucursal = sucursalTextfield.text.toString()
    login.password = passwordTextfield.text.toString()
    val loginContext = this
    manager.login(login, this){
        val result = it
        if(result.messageType == 1){
            val intent = Intent(this, HomeActivity::class.java)
            startActivity(intent)
            this.progressHud.dismiss()
            this.finish()

            System.out.println("Se Guardo el login")
        }else{
            //Mostrar alerta
            alert(result.message) {
                title = "Aviso"
                positiveButton("Aceptar"){}
            }.show().apply {
                getButton(AlertDialog.BUTTON_POSITIVE)?.let { it.setBackgroundColor(Color.WHITE) }
                getButton(AlertDialog.BUTTON_POSITIVE)?.let { it.setTextColor(Color.parseColor("#ff33b5e5")) }
            }
            this.progressHud.dismiss()
        }
    }
}
家庭活动中的注销功能

try {
                SharedData.SharedInstance.realmInstance.beginTransaction()
                SharedData.SharedInstance.realmInstance.deleteAll()
                SharedData.SharedInstance.realmInstance.commitTransaction()
                val intent = Intent(this, LoginActivity::class.java)
                startActivity(intent)
                this.finish()
            }catch(e:Exception){
                System.out.println(e.localizedMessage)
            }

我找到了解决方案,显然,应用程序一直在制作我的家庭活动实例,因此我在AndroidManifest.xml中添加了以下内容:

 <activity
            android:name=".HomeActivity"
            android:label="@string/title_activity_home"
            android:theme="@style/AppTheme.NoActionBar"
            android:launchMode="singleInstance">
    </activity>


singleInstance行解决了我的问题

你的应用程序必须在按下后崩溃并重新启动,转到Logcat,在应用程序下拉选择中,你可能会发现你的应用程序包末尾有[DEAD],那么当我注销时呢?当我注销时,它会再次显示登录活动,但当我按back键时,它会返回到home activity,而不是关闭appAlso,我现在已经检查了Logcat,它不会显示死掉的东西。你说的“当我按手机上的back按钮时,home activity返回到home activity”是什么意思?正如你所读的,我登录,家庭活动显示,我按下后退按钮,背部动画显示,家庭活动下降,以显示。。。。家庭活动!!请接受您的回答,这将有助于未来的访问者。我尝试过,但stack overflow向我显示了一条消息,我直到两天过去才接受它,这就是我以前没有接受它的原因