【轉】關於onActivityResult方法不執行的問題匯總

來源:互聯網
上載者:User

標籤:

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

1.直接上代碼說明

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

[java] view plaincopyprint? 
  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 plaincopyprint? 
  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執行不了

【轉】關於onActivityResult方法不執行的問題匯總

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.