在android开发中,当不满足触发条件就按返回键的时候,就要对此进行检测。尤其是当前Activity需要往前一个Activity传送消息时。即Activity1跳转到Activity3如果采用的是startActivityForResult这种方式,如果不重写返回键,程序不知道要返回给Activity1什么内容就会报错。因此,必须对Activity3的返回按键重写。
@Override
public void onBackPressed() {
//A跳转到B如果采用的是startActivityForResult这种方式,
//如果不重写返回键,程序不知道要返回给Activity1什么内容就会报错
//有super.onBackPressed() 时 不能把在此方法中设置的 intent 传回
//上一个Activity ,因此 去掉super.onBackPressed() 在末尾加上finish
Intent intent=new Intent();
intent = getIntent().putExtra("callAddItem", false);
setResult(RESULT_OK, intent);
finish();
}
有super.onBackPressed() 时 不能把在此方法中设置的 intent 传回上一个Activity ,因此 去掉super.onBackPressed() 在末尾加上finish();在上一个activity中用onActivityResult() 方法接受上此Activity的onBackPressed()方法传回去的intent,在onBackPressed()设置resultCode 在上一个Activity 的OnActivityResult()中验证;