如果我调用 startActivityForResult
并且启动的 Activity 也在另一个 Activity 上调用 startActivityForResult
,
是否有可能停止第一个 Activity ?
有什么办法可以防止它发生吗?
我应该传递我创建的每个 Intent 的上下文是什么?
一些代码来说明这个过程
intent = new Intent(MainActivity.this, SettingsActivity.class);
startActivityForResult(intent, AbstractSettingsActivity.SETTINGS_ACTIVITY_REQUEST_CODE);
// this is inside the Settings activity
Intent intent = new Intent(getBaseContext(), SettingsTabsActivity.class);
startActivityForResult(intent, CUSTOMIZE_TAB_REQUEST_CODE);
// at this point i got ondstroy on main activity - main is not the root
最佳答案
在任何情况下(无论是 startActivity
还是 startActivityForResult
),当您开始一个新 Activity 时,您当前的 Activity
将进入 stopped 状态通过提高其 onStop
方法。它的方式Android's Activity life-cycle被设计。它与上下文类型无关。
但是,如果您不想发生 onStop
,那么也许您可以尝试通过 Dialogs
模拟预期的 View 。这将导致您的 Activity 达到其 onPause
状态。
关于android - startActivityForResult 里面的 startActivityForResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119752/