什么时候调用onActivityResult?

时间:2012-05-31 12:36:40

标签: android android-intent

我的应用程序遇到了一些问题,并且想确定它应该如何工作。

用户输入向活动A发送意图。活动A startActivityForResult活动B.活动B完成其工作,设置结果,然后完成。 由于env约束,我不能

我的问题如下:A.onActivityresultA.onDestroy之前2秒被调用。我在活动A中锁定,以避免开始

这是一个简化的代码:

A.onNewIntent(Intent intent)
{
    if(!mLocked && intent.getAction()==MyIntent.LAUNCHB)
    {
        Log.d("A", "Locked");
        mLocked = true;
        Log.d("A", "Intent sent to B");
        startActivityForResult(intentB,BCODE); // intent is configured before
    }
}

A.onActivityResult()
{
    displayBResults();
    Log.d("A","Lock release");
    mLocked = false;
}

在B:

B.onResume()
{
    Log.d("B","Start doing stuff");
    doSomeStuff();
    setResult(SOME_CODE);
    finish();
}

B.onDestroy()
{
    super.onDestroy();
    Log.d("B","Destroyed");
}

Logcat看起来像这样:(时间是通常情况下的平均值)

00:00:00.000 A Locked
00:00:00.040 A Intent sent to B
00:00:00.440 B Start doing stuff
00:00:10.000 A Lock release
//User input during the 2-seconds gap between onActivityResult && onDestroy
00:00:11.000 A Locked
00:00:11.040 A Intent sent to B
00:00:12.000 B onDestroy

之后,我的应用程序不再起作用了。有什么建议吗?有什么方法可以缩小这个差距吗?

0 个答案:

没有答案