我称活动为结果:
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"
对于我的其他活动(使用完全相同的代码),它可以完美运行(CODE_LOGIN)。
有人可以帮助我吗?