为了方便讲解我用activity1,activity2和activity3来代表3个activity。
当activity1和activity2都能跳转到activity3时,在activity3中按back按钮判断这个activity3是从哪里跳转过来的,我们可以用一个session在跳转的时候设置一个session值来判断是从哪个跳转过来的。
activity1中的跳转
public void GoActivity3(Context context) {
Session session = Session.getSession();
session.remove("3FROM");
session.put("3FROM", "1");
Global.goNextActivityAndFinish(context,Activity3.class, null);
}
activity2中的跳转
public void GoActivity3(Context context) {
Session session = Session.getSession();
session.remove("3FROM");
session.put("3FROM", "2");
Global.goNextActivityAndFinish(context,Activity3.class, null);
}
activity3中的back按钮是的判断和转跳
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Session session = Session.getSession();
int from = (int) session.get("3FROM");
if(from==1){
Global.goNextActivityAndFinish(Activity3.this, Activity1.class, null);
}
else{
Global.goNextActivityAndFinish(Activity3.this, Activity2.class, null);
}
return true;
}
else
{
return super.onKeyDown(keyCode, event);
}
}