activity A 通过 startActivityForResult() 的方法启动 activity B。
在activity B调用 back 返回 或者 内部执行 finish() 方法时。除了执行生命周期方法外,还会回传 一个resultcode 回去。 resultCode == RESULT_CANCELED == 0
导致activity A 的 onActivityResult() 方法执行。
如果你写了一个else分支的话,就会执行到else分支里面去。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(LOG_TAG, "requestCode: "+ requestCode + " resultCode: " + resultCode);
if (requestCode == LINE_NUMBERS) {
if (resultCode == RESULT_OK) {
mLine1Numbers = data.getStringArrayExtra(XDivertUtility.LINE1_NUMBERS);
Log.d(LOG_TAG, "numbers: "+ mLine1Numbers);
//mHandler.sendMessage(mHandler.obtainMessage(EVENT_PROCESS_XDIVERT_CHECK_BOX));
mHandler.sendMessage(mHandler.obtainMessage(EVENT_UI_CALL_BACK_CHANGE));
} else {
finish();
}
}
}