我有3個活動 - 一個,乙,並Ç。活動開始startActivityForResult()沒有返回調用活動
簡而言之,活動A啓動活動B,然後A也啓動活動C並期待C的結果,但從未得到它。
這裏是應用程序的工作流程:
活性A被應用程序啓動時啓動,並開始在活動的onCreate B(不是結果,只是startActivity())。
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); startActivity(new Intent(getApplicationContext(), ActivityB.class)); }
活動A然後也使用startActivityForResult()開始活動Ç後面代碼,此時爲結果,與活動A還具有onActivityResult。
Intent intent = new Intent(getApplicationContext(), ActivityC.class); startActivityForResult(intent, 0);
和
protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... }
活動C使用的setResult(),並完成()返回一些數據,它應該回到活動A,因爲活動一個名爲startActivityForResult()。
Intent intent = new Intent(); intent.putExtra("encryption", encryption); setResult(56, intent); finish();
BUT工作流落在步驟3無聲 - 活動A的onActivityResult不會被調用(既不是B的對這個問題),即使活動A是一個開始下的結果。不確定活動B是否妨礙了A和C的溝通,或者問題是什麼。任何幫助深表感謝。
其所以很難理解....活動B然後使用活動A進行Web服務調用,如果活動A確定需要登錄,則會啓動活動C – 2012-03-13 17:38:14
編輯問題以簡化它。基本上活動A開始活動B,然後A也開始活動C並希望得到C的結果,但從未得到它。 – Gady 2012-03-13 17:51:33
startActivityforresult進來B活動它的工作從哪個活動開始並返回onactivity結果 – 2012-03-13 17:53:08