android - startActivityForResult 里面的 startActivityForResult

标签 android android-intent android-activity

如果我调用 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/

相关文章:

android - 示例 : Communication between Activity and Service using Messaging

java - 如何在 android/java 中向字符串数组添加新条目?

android - 单元测试配置在 Android Studio 3.1 中损坏

android - 仿真器无法加载 "libGLES_emulation"驱动程序

android - 服务- Activity 沟通

android - Interface Null object Reference 通过在 Activity 中实现接口(interface)来与 fragment 通信?

android - 这段代码为什么要用Context呢?

android - 检测并计算 EditText 中的特殊字符 - Android

Android:应用程序启动的回调

java - admob 和 startActivity 崩溃