在我的主要活動,我有:onActivityResult()被調用在一個意想不到的時間
Intent settings_intent = new Intent(this, SettingsActivity.class);
settings_intent.putExtra("SomeID", some_int);
startActivityForResult(settings_intent, 1);
,然後在我的SettingsActivity,我有:
@Override
public void onBackPressed() {
super.onBackPressed();
// pass back settings:
Intent data = new Intent();
data.putExtra("SomeThing", some_number);
setResult(200, data);
finish();
}
最後,我推翻在我的主要活動如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
makeToast("called");
super.onActivityResult(requestCode, resultCode, data);
}
然而,「所謂的」敬酒一旦發生,因爲我的「設置」活動開始,我而不是當它完成時。現在我已經花了很長時間了。任何幫助表示讚賞。謝謝。
非常感謝您的回覆。 launchMode實際上被設置爲「singleInstance」,並且它不起作用。只是好奇心,我在閱讀你的答案後將它改爲了'android:launchMode =「singleTask」',它出人意料地工作。但現在閱讀文檔,我擔心它是否可以在其他設備上使用。 – user1032613
我看到'singleInstance'也可以導致這種情況,因爲它幾乎和'singleTask'一樣。但說實話,我不知道爲什麼它會與'singleTask'一起工作,所以我不能告訴你這是否和其他設備一樣。 – 2011-12-10 22:29:26