我有一對活動必須共同生存或死亡。基本上AlphaActivity會做一些工作,然後爲BetaActivity發送一個意圖(startActivityForResult()
)。當BetaActivity完成後,我希望它爲GammaActivity發送一個意圖(startActivity()
),然後自己調用finish()
。完成後,我希望AlphaActivity的onActivityResult()
方法被調用,但這似乎從未發生過。我的設計是在AlphaActivity的onActivityResult()
內部,我打電話finish()
。我的計劃是這樣的,一旦達到GammaActivity,用戶不能返回到AlphaActivity或BetaActivity。但目前後退按鈕確實將用戶帶到AlphaActivity。在onActivityResult完成活動不起作用
我確實有一些想法,爲什麼它不起作用,但在這裏討論它們是毫無意義的,因爲我對什麼可能實際工作感興趣。
編輯:
的代碼都相當標準的東西:
從裏面阿爾法
private void startBetaActivity() {
Intent intent = new Intent(this, BetaActivity.class);
startActivityForResult(intent, Constant.EXIT_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == Constant.EXIT_CODE) {
this.finish();
}
}
}
從內部測試版:
if (success) {
startGammaActivity();
finish();
}
你所描述的應該可行。你可以在啓動BetaActivity的地方發佈代碼,然後完成它? – 2013-04-25 00:04:33
你是否需要對'BetaActivity'的結果做些什麼?爲什麼'AlphaActivity'不能''完成()'當它啓動'BetaActivity'? – codeMagic 2013-04-25 00:08:36