關於onActivityResult方法不執行的問題彙總



首先說說本人碰到的於onActivityResult不執行的情況。(網上找了很久都沒有人碰到)

1.直接上代碼說明

ActivityA的代碼:(放在onCreate方法中)

[java] view plaincopy
  1. Intent intent = new Intent(ActivityA.this, ActivityB.class);  
  2.                 Bundle bundle = new Bundle();  
  3.                 bundle.putString("abc""aaaaaaaaaaa");  
  4.                 intent.putExtra("bundle", bundle);  
  5.                 startActivityForResult(intent,<span style="color:#ff0000;"> RESULT_OK</span>);  


ActivityB的代碼:

[java] view plaincopy
  1. Intent intent = getIntent();  
  2.  ActivityB.this.setResult(<span style="color:#ff0000;">RESULT_OK</span>, intent);  
  3. 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執行不了




轉自:http://blog.csdn.net/y150481863/article/details/8461246

首先說說本人碰到的於onActivityResult不執行的情況。(網上找了很久都沒有人碰到)

1.直接上代碼說明

ActivityA的代碼:(放在onCreate方法中)

[java] view plaincopy
  1. Intent intent = new Intent(ActivityA.this, ActivityB.class);  
  2.                 Bundle bundle = new Bundle();  
  3.                 bundle.putString("abc""aaaaaaaaaaa");  
  4.                 intent.putExtra("bundle", bundle);  
  5.                 startActivityForResult(intent,<span style="color:#ff0000;"> RESULT_OK</span>);  


ActivityB的代碼:

[java] view plaincopy
  1. Intent intent = getIntent();  
  2.  ActivityB.this.setResult(<span style="color:#ff0000;">RESULT_OK</span>, intent);  
  3. 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執行不了




轉自:http://blog.csdn.net/y150481863/article/details/8461246
發佈了50 篇原創文章 · 獲贊 22 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章