在调用finish()之后,ActivityGroup的子Activity没有完成



我有一个程序使用ActivityGroup。类结构如下:

Class A extends ActivityGroup {
onCreate(){
}
}
Class B extends A {
onCreate() {
startActivityResult();//launch C
}
onActivityResult(){
...
finish();//finish activity after receive result from C;this line of code does execute in test
...
}
}
Class C extends A {
onCreate(){
...
}
}

B是整个程序的入口。在B的onCreate()中,我用startActivityResult()发射C;在C语言中,它会向用户显示一个按钮;用户点击按钮后,C将在B的onActivityResult()中调用finish()setResult();,我尝试使用finish()方法退出所有应用程序。

问题是按下按钮后屏幕变黑了。然后我使用hierarchyviewer.bat来查看视图;令我惊讶的是,有一个id为R.id.content的视图和另一个没有id的根视图。工具显示活动B在顶部。我知道id为R.id.content的视图是Activity的根视图,但我不知道为什么在finish()被调用后它仍然存在。你知道,在finish()之后没有其他逻辑,也没有其他接收器,或者任何其他可以阻塞完成的。

可能是我错误使用ActivityGroup的问题。有人能帮忙吗?

谢谢你回答我关于stackoverflow的第一个问题。

我知道根本原因,那是因为我使用了B的singleTask活动,但其他一些活动作为新任务启动,仍然没有完成。

相关内容

  • 没有找到相关文章

最新更新