0

我找不到使用新的活动结果 API 从父活动完成子活动的方法。

以前我们可以做startActivityForResult(intent, childId)然后finishActivity(childId)从父 Activity 调用来完成子 Activity。

        val childIntent = Intent(this, ChildActivity::class.java)
        startActivityForResult(childIntent, CHILD_ACTIVITY_REQUEST_CODE)

        Handler(Looper.getMainLooper()).postDelayed({
            // Finish the child activity after 5 seconds
            finishActivity(CHILD_ACTIVITY_REQUEST_CODE)
        }, 5000)

但是当activityResultLauncher.launch(childIntent)我们不能通过请求码childId,所以我们不能使用finishActivity(childId)

        val childIntent = Intent(this, ChildActivity::class.java)
        activityResultLauncher.launch(childIntent)
        Handler(Looper.getMainLooper()).postDelayed({
            // Since I don't have a request code, this doesn't work!
            finishActivity(CHILD_ACTIVITY_REQUEST_CODE)
        }, 5000)

是否可以使用 Activity Result API 从父活动完成子活动?

谢谢

这是一个说明问题的示例项目。https://github.com/4brunu/ActivityResultAPIFinishChildActivity

4

0 回答 0