【发布时间】:2021-02-14 08:37:36
【问题描述】:
我有一个绑定到 Activity A 的 Service,我需要从这个 Service 调用 Activity B 并等待结果。
我设法这样调用活动 B:
val intent = Intent(contextOfActivityA, ActivityB::class.java)
(contextOfActivityA as ComponentActivity).startActivityForResult(intent, 123)
问题是我不知道如何捕捉 ActivityB 的结果。 如果我使用 onActivityResult 永远不会被调用:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (resultCode == Activity.RESULT_OK) {
//result
}
我该怎么做?请记住,我只能控制 Service,因此无法修改或处理 Activity A 中的结果调用。
谢谢
【问题讨论】:
-
“我需要从这个服务中调用一个 Activity B 并等待结果”——从 Android 应用架构的角度来看,这确实令人恐惧。
-
感谢您的回答,您能解释一下原因吗?
-
请解释你为什么认为你需要这样做以及你到底想做什么。
-
我最终改变了应用基础架构。
标签: android android-activity android-service