I have ActivityA from where I open another activity:
val intent = Intent(this, ActivityC::class.java)
startActivityForResult(intent,  99)
When I finish ActivityC as expected, I get the callback in onActivityResult of ActivityA.
The problem is that if I open another activity from ActivityA like:
startActivity(Intent(this, ActivityB::class.java))
before calling finish() in ActivityC, and then do finish() in ActivityC I don't get the callback.
Is there any workaround about this?
CODE
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        findViewById<TextView>(R.id.clickme).setOnClickListener {
            startActivityForResult(Intent(this, MainActivity2::class.java), 99)
            Handler().postDelayed({
                startActivity(Intent(this, MainActivity3::class.java))
            }, 1000)
        }
    }
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        System.out.println("Came to onActivityResult")
    }
}
Activity2:
class MainActivity2 : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main2)
        Handler().postDelayed({
            setResult(RESULT_OK)
            finish()
        }, 2000)
    }
}
Removing the call:
startActivity(Intent(this, MainActivity3::class.java))
Will trigger the onActivityResult as expected.
