首先說說本人碰到的於onActivityResult不執行的情況。(網上找了很久都沒有人碰到)
1.直接上代碼說明
ActivityA的代碼:(放在onCreate方法中)
- Intent intent = new Intent(ActivityA.this, ActivityB.class);
- Bundle bundle = new Bundle();
- bundle.putString("abc", "aaaaaaaaaaa");
- intent.putExtra("bundle", bundle);
- startActivityForResult(intent,<span style="color:#ff0000;"> RESULT_OK</span>);
ActivityB的代碼:
- Intent intent = getIntent();
- ActivityB.this.setResult(<span style="color:#ff0000;">RESULT_OK</span>, intent);
- ActivityB.this.finish();
如上代碼紅色標註單詞,如果startActivityForResult此處寫得是RESULT_OK(此處的RESULT_OK值爲負數),則在finish到ActivityB之後,ActivityA中的onActivityResult方法不會執行。
-----------------------------------------------------------------------------------------------------以下是網上其他人總結的---------------------------------------------------------------------------------------
2.android onActivityResult不執行問題
奇怪問題 startActivityForResult() 後直接調用 onActivityResult()
開發人員都知道,可以通過使用 startActivityForResult() 和 onActivityResult() 方法來傳遞或接收參數。
然而在一次使用中,還沒等到被調用的 Activity 返回,onActivityResult() 就被執行了。
找了半於,才得知,這與 Activity 的加載模式(launchMode)有關,該屬性可以在 AndroidManifest.xml 中設置。
原先將其設爲 launchmode="SingleTask",經測試,所有需要傳遞或接收的 Activity 不允許設置該屬性,或只能設爲標準模式,否則系統將在 startActivityForResult() 後直接調用 onActivityResult()。
3.是不是用了ActivityGroup啊,我遇到用了ActivityGroup執行不了
首先說說本人碰到的於onActivityResult不執行的情況。(網上找了很久都沒有人碰到)
1.直接上代碼說明
ActivityA的代碼:(放在onCreate方法中)
- Intent intent = new Intent(ActivityA.this, ActivityB.class);
- Bundle bundle = new Bundle();
- bundle.putString("abc", "aaaaaaaaaaa");
- intent.putExtra("bundle", bundle);
- startActivityForResult(intent,<span style="color:#ff0000;"> RESULT_OK</span>);
ActivityB的代碼:
- Intent intent = getIntent();
- ActivityB.this.setResult(<span style="color:#ff0000;">RESULT_OK</span>, intent);
- ActivityB.this.finish();
如上代碼紅色標註單詞,如果startActivityForResult此處寫得是RESULT_OK(此處的RESULT_OK值爲負數),則在finish到ActivityB之後,ActivityA中的onActivityResult方法不會執行。
-----------------------------------------------------------------------------------------------------以下是網上其他人總結的---------------------------------------------------------------------------------------
2.android onActivityResult不執行問題
奇怪問題 startActivityForResult() 後直接調用 onActivityResult()
開發人員都知道,可以通過使用 startActivityForResult() 和 onActivityResult() 方法來傳遞或接收參數。
然而在一次使用中,還沒等到被調用的 Activity 返回,onActivityResult() 就被執行了。
找了半於,才得知,這與 Activity 的加載模式(launchMode)有關,該屬性可以在 AndroidManifest.xml 中設置。
原先將其設爲 launchmode="SingleTask",經測試,所有需要傳遞或接收的 Activity 不允許設置該屬性,或只能設爲標準模式,否則系統將在 startActivityForResult() 後直接調用 onActivityResult()。
3.是不是用了ActivityGroup啊,我遇到用了ActivityGroup執行不了