【问题标题】:Returning from StartActivityForResult opening Same Activity从 StartActivityForResult 返回打开相同的活动
【发布时间】:2016-08-21 17:18:39
【问题描述】:

我不确定我的代码有什么问题,今天我在调用 startActivityForResult 时遇到了一个奇怪的问题。

下面是我的代码 -

当我打电话时从活动 A -

startActivityForResult(intent,122);

然后活动 B 按需要打开。 现在,当我从活动 B 调用下面的代码行时 -

 Intent in = getIntent();
 setResult(Activity.RESULT_OK,in);
 finish();

然后打开同一个Activity B。

我调试了代码,发现在我完成活动 B 时调用了活动 B 的 onCreate()。

任何人都可以解决这个问题,非常感谢。

TIA

【问题讨论】:

  • 在 = getIntent(); 中改变这个 Intent to Intent in = new Intent();
  • 尝试了您的解决方案,但结果相同
  • 代码是否在 A 中到达您的 onActivityResult,它是什么样的?
  • 第一次去A类的onActivityResult,但是当重新打开活动B并从B调用完成时,调用活动B的onCreate而不是A类的onActivityResult。

标签: android android-intent android-activity startactivityforresult


【解决方案1】:

这样做...

 Intent i = new Intent(ActivityB.this, ActivityA.class);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                setResult(RESULT_OK, i);
                finish();

【讨论】:

    【解决方案2】:

    在活动 B 中尝试以下代码:

    Intent intent = new Intent();
    setResult(requestCode, intent);
    finish();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多