在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()中验证;