android startActivity and close all the others
To start an activity in Kotlin for Android and close all others, you can use the startActivity
method and set the Intent.FLAG_ACTIVITY_CLEAR_TASK
and Intent.FLAG_ACTIVITY_NEW_TASK
flags. Here's a step-by-step explanation:
- Create an Intent object: First, create an Intent object that represents the activity you want to start. You can specify the target activity by passing its class as a parameter to the Intent constructor. For example:
val intent = Intent(this, TargetActivity::class.java)
- Set the flags: To clear all existing activities and start the new activity as a new task, you need to set the flags
Intent.FLAG_ACTIVITY_CLEAR_TASK
andIntent.FLAG_ACTIVITY_NEW_TASK
on the Intent object. You can do this using thesetFlags
method. For example:
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
- Start the activity: Finally, start the activity by calling the
startActivity
method and passing the Intent object as a parameter. For example:
startActivity(intent)
By setting the Intent.FLAG_ACTIVITY_CLEAR_TASK
flag, all activities on the current task stack will be cleared when the new activity is started. The Intent.FLAG_ACTIVITY_NEW_TASK
flag ensures that the new activity is started as a new task.
This combination of flags is useful when you want to start a new "root" activity and clear any existing activities in the back stack. It's commonly used in scenarios like a login screen, where you want to start a new session and discard any previous activities.