活动不能阻止另一个活动然后自己

时间:2012-04-12 20:35:04

标签: android

我有2项活动, A B

A使用意图和请求代码调用B -

startActivityForResult(i,123);

...后来我希望A停止B然后自己,所以在A中我做了

finishActivity(123);
finish();  // finish itself

......但B不会停止!但是,如果我在所有的onStop和onDestroy上设置断点并在调试器中单步执行,一切都会完美运行,两个活动都会消失。 (这表明时间或种族条件)

但是,如果我评论完A(...)

finishActivity(123);
// finish();  // finish itself

B确实完成但是A没有完成,因为它的完成已被取消。让一个活动完成另一个活动的正确方法是什么,然后自己完成?

提前致谢。

1 个答案:

答案 0 :(得分:3)

看看是否有效:

finishActivity(123);
runOnUiThread(new Runnable() {
    public void run() {
        finish();
    }
});

我建议这样做的原因是我认为对finish()的调用并没有让finishActivity(123)有机会做到这一点。通过调用runOnUiThread,对finish()的调用将在下一个循环中通过UI消息队列进行。