我呼籲結果的活動:的Android,完成()關閉活動的應用INSEAD
private static final int CODE_LOGIN = 0;
private static final int CODE_DETAILS = 1;
private void callDetailsActivity() {
Intent switchToDetailsActivity = new Intent(getApplicationContext(), Details.class);
switchToDetailsActivity.putExtra(TAG_ID, details.get(TAG_ID));
startActivityForResult(switchToDetailsActivity, CODE_DETAILS);
}
我
Details.class
現在我打電話要回以前的活動:
@Override
public void onBackPressed() {
setResult(RESULT_OK);
super.onBackPressed();
}
然後我onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CODE_LOGIN) {
// This is for my other Activity, where the "return" works
}
}
updateOffers();
}
但是回到我的上一節課,應用程序關閉時沒有任何錯誤日誌。當我按主頁按鈕去我的以前的應用程序,我可以去我的應用程序,然後我在我以前的活動,但這肯定不是它應該工作的方式。
我也試過不改變onBackPressed()
,或者乾脆把finish()
寫成onBackPressed()
,但沒有任何工作。
我沒有設置android:noHistory="true"
與我的其他活動(其中excatly使用相同的代碼),它完美的作品(CODE_LOGIN)。
有人可以幫我嗎?
你能不能也分享在第一個活動的「onActivityResult」的代碼? –
嘗試在onBackPressed()的底部添加super.onBackPressed並從新的Intent()中移除參數。 – Vijju
你在'startActivityForResult'後面調用'finish()'嗎? – Doomsknight