Let's see, I have launcher Activity as HomeComposeActivity which extends BaseComposeActivity and it extends BaseActivityV2
HomeComposeActivity -> BaseComposeActivity -> BaseActivityV2 -> AppCompatActivity
I've another activity called CartActivity
So from HomeComposeActivity, when I click on button, I'm launching CartActivity
val button = findViewById<Button>(R.id.button) button.setOnClickListener { val intent = Intent(this, CartActivity::class.java) startActivity(intent) }
I put logs in All 4 activities like this:
override fun onBackPressed() { showLog("HomeComposeActivity - before - onBackPressed") super.onBackPressed() showLog("HomeComposeActivity - after - onBackPressed")} override fun onBackPressed() { showLog("BaseComposeActivity - before - onBackPressed") super.onBackPressed() showLog("BaseComposeActivity - after - onBackPressed")} override fun onBackPressed() { showLog("BaseActivityV2 - before - onBackPressed") super.onBackPressed() showLog("BaseActivityV2 - after - onBackPressed")}override fun onBackPressed() { showLog("CartActivity - before - onBackPressed") super.onBackPressed() showLog("CartActivity - after - onBackPressed")}
Manifest
android:enableOnBackInvokedCallback="true"
build.gradle
compileSdk 34
Logcat, when I pressed back from CartActivity
CartActivity - before - onBackPressedBaseComposeActivity - before - onBackPressedBaseActivityV2 - before - onBackPressedBaseActivityV2 - after - onBackPressedBaseComposeActivity - after - onBackPressedCartActivity - after - onBackPressedHomeComposeActivity - before - onBackPressedBaseComposeActivity - before - onBackPressedBaseActivityV2 - before - onBackPressedBaseActivityV2 - after - onBackPressedBaseComposeActivity - after - onBackPressedHomeComposeActivity - after - onBackPressed