使用 Activity Result API 时,Android 从父 Activity 完成子 Activity

问题描述

我找不到使用新的 Activity Result API 从父 Activity 完成子 Activity 的方法

以前我们可以先执行 startActivityForResult(intent,childId),然后从父 Activity 调用 finishActivity(childId) 来完成子 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 从父 Activity 完成子 Activity?

谢谢

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...