我正在尝试向我的应用添加登录/注册活动,但是我是Android开发人员的新手,所以我不确定应该采用的正确方法。
我目前的逻辑是:
应用打开到MainActivity
,MainActivity
立即启动LoginActivity
:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
startActivity(
Intent(baseContext, LoginActivity::class.java).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
)
finish()
}
}
LoginActivity
具有登录表单和注册/忘记密码按钮。当按下注册按钮时,我启动RegisterActivity:
private fun handleRegisterClick() {
startActivity(Intent(baseContext, RegisterActivity::class.java))
}
我遇到的问题是,当我按下RegisterActivity
中的Android后退按钮时,它将带我回到主屏幕,而不是回到LoginActivity
。为什么会这样?
答案 0 :(得分:3)
因为您添加了行.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
,该行应用于您要开始的LoginActivity
的Intent,而不是您当前所在的活动。您对finish()
进行的呼叫将确保在您按下“后退”按钮时MainActivity
不会被导航回去。