Bird
Raised Fist0
Android Kotlinmobile~20 mins

Intent for activity navigation in Android Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Intent Navigator Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ ui_behavior
intermediate
2:00remaining
What happens when this Intent code runs?
Consider this Kotlin code inside an Android activity. What will the user see after clicking the button?
Android Kotlin
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
AThe app closes immediately.
BThe app opens SecondActivity screen.
CThe app shows an error message.
DNothing happens; the screen stays the same.
Attempts:
2 left
💡 Hint
Intent is used to start a new screen (activity).
📝 Syntax
intermediate
2:00remaining
Which option correctly creates an Intent to start DetailActivity?
Choose the correct Kotlin code snippet to start DetailActivity from the current activity.
A
val intent = Intent(this, DetailActivity::class.java)
startActivity(intent)
B
val intent = Intent(DetailActivity::class.java, this)
startActivity(intent)
C
val intent = Intent(this, "DetailActivity")
startActivity(intent)
D
val intent = Intent(this)
startActivity(DetailActivity::class.java)
Attempts:
2 left
💡 Hint
Intent constructor needs context and target activity class.
❓ lifecycle
advanced
2:00remaining
What happens to the current activity after startActivity(intent)?
After calling startActivity(intent) to open a new activity, what is the state of the current activity?
AIt is restarted.
BIt is destroyed immediately.
CIt is paused and stopped but remains in the back stack.
DIt becomes invisible and removed from memory.
Attempts:
2 left
💡 Hint
Think about Android activity lifecycle when switching screens.
🔧 Debug
advanced
2:00remaining
Why does this Intent code cause a crash?
Given this code snippet, why does the app crash when startActivity is called? val intent = Intent(this, SecondActivity::class.java) startActivity(intent)
Android Kotlin
class FirstActivity : AppCompatActivity() {
  fun openSecond() {
    val intent = Intent(this, SecondActivity::class.java)
    startActivity(intent)
  }
}

class SecondActivity : AppCompatActivity() {}
ASecondActivity is not declared in AndroidManifest.xml.
BIntent constructor parameters are reversed.
CstartActivity is called outside an activity context.
DSecondActivity class is missing a constructor.
Attempts:
2 left
💡 Hint
Android requires all activities to be registered in the manifest.
🧠 Conceptual
expert
2:00remaining
What is the purpose of Intent flags in activity navigation?
Why would a developer add flags like FLAG_ACTIVITY_CLEAR_TOP to an Intent before starting an activity?
ATo pass data between activities securely.
BTo change the theme of the new activity dynamically.
CTo delay the start of the activity until a condition is met.
DTo control how activities are launched and manage the back stack behavior.
Attempts:
2 left
💡 Hint
Flags affect how Android handles activity instances and navigation history.

Practice

(1/5)
1. What is the main purpose of an Intent in Android Kotlin?
easy
A. To store user data permanently
B. To style the user interface
C. To navigate from one activity to another
D. To handle background tasks

Solution

  1. Step 1: Understand Intent usage

    An Intent is used to request an action from another app component, commonly to start a new activity.
  2. Step 2: Identify navigation role

    In Android, Intent is primarily used to navigate between screens (activities).
  3. Final Answer:

    To navigate from one activity to another -> Option C
  4. Quick Check:

    Intent = Navigation [OK]
Hint: Intent is for moving between screens [OK]
Common Mistakes:
  • Confusing Intent with data storage
  • Thinking Intent styles UI
  • Assuming Intent handles background tasks
2. Which of the following is the correct syntax to create an Intent to start SecondActivity from the current activity?
easy
A. val intent = Intent(this, SecondActivity::class.java)
B. val intent = Intent(SecondActivity, this::class.java)
C. val intent = Intent(this, SecondActivity)
D. val intent = Intent(SecondActivity::class.java, this)

Solution

  1. Step 1: Check Intent constructor parameters

    The Intent constructor requires the current context and the target activity class with ::class.java.
  2. Step 2: Validate syntax correctness

    val intent = Intent(this, SecondActivity::class.java) correctly uses this for context and SecondActivity::class.java for the target.
  3. Final Answer:

    val intent = Intent(this, SecondActivity::class.java) -> Option A
  4. Quick Check:

    Intent(this, TargetActivity::class.java) = Correct [OK]
Hint: Use this and TargetActivity::class.java in Intent [OK]
Common Mistakes:
  • Swapping parameters order
  • Omitting ::class.java
  • Using activity instance instead of class
3. What will happen when the following code runs inside an activity?
val intent = Intent(this, DetailActivity::class.java)
startActivity(intent)
medium
A. The app will crash due to missing permissions
B. The current activity will close and DetailActivity will open
C. Nothing will happen because startActivity is missing parameters
D. DetailActivity will open on top of the current activity

Solution

  1. Step 1: Analyze Intent creation

    The Intent is correctly created to open DetailActivity from the current context.
  2. Step 2: Understand startActivity behavior

    Calling startActivity launches the new activity on top without closing the current one.
  3. Final Answer:

    DetailActivity will open on top of the current activity -> Option D
  4. Quick Check:

    startActivity(intent) = Opens new screen on top [OK]
Hint: startActivity opens new screen on top [OK]
Common Mistakes:
  • Thinking startActivity closes current activity
  • Assuming permissions needed for navigation
  • Believing startActivity requires extra parameters
4. Identify the error in this code snippet that tries to start ProfileActivity:
val intent = Intent(ProfileActivity::class.java, this)
startActivity(intent)
medium
A. The parameters in Intent are reversed
B. startActivity is missing parentheses
C. ProfileActivity should be an instance, not a class
D. Intent requires a string action, not classes

Solution

  1. Step 1: Check Intent constructor parameter order

    The Intent constructor expects the current context first, then the target activity class.
  2. Step 2: Identify parameter reversal

    Here, the target activity class is given first, then the context, which is incorrect.
  3. Final Answer:

    The parameters in Intent are reversed -> Option A
  4. Quick Check:

    Intent(this, TargetActivity::class.java) = Correct order [OK]
Hint: Context first, target class second in Intent [OK]
Common Mistakes:
  • Swapping context and target activity
  • Forgetting ::class.java
  • Using activity instance instead of context
5. You want to open SettingsActivity and close the current activity so the user cannot return by pressing back. Which code snippet achieves this?
hard
A. val intent = Intent(this, SettingsActivity::class.java) startActivity(intent)
B. val intent = Intent(this, SettingsActivity::class.java) startActivity(intent) finish()
C. val intent = Intent(this, SettingsActivity::class.java) finish() startActivity(intent)
D. val intent = Intent(this, SettingsActivity::class.java) startActivityForResult(intent, 1)

Solution

  1. Step 1: Understand startActivity and finish

    startActivity opens the new activity; finish closes the current one.
  2. Step 2: Order matters

    Calling finish() after startActivity ensures the new screen opens before current closes.
  3. Step 3: Check options

    val intent = Intent(this, SettingsActivity::class.java) startActivity(intent) finish() correctly calls startActivity then finish to prevent back navigation.
  4. Final Answer:

    val intent = Intent(this, SettingsActivity::class.java) startActivity(intent) finish() -> Option B
  5. Quick Check:

    startActivity + finish = Open new and close current [OK]
Hint: Call finish() after startActivity to close current [OK]
Common Mistakes:
  • Calling finish() before startActivity
  • Not calling finish() at all
  • Using startActivityForResult unnecessarily
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard