//2016/09/02
/by xbw//
问题描述:
设
Activity_Login;
Activity_Main;
Activity_Setting;
我们有这三个界面。
Activity流程
Activity_Login--->Activity_Main Activity_Login被finish 进入Activity_Main;
Activity_Main--->Activity_Setting Activity_Main压入栈中,不被finish,进入Activity_Setting;
我们在Activity_Setting 中进行用户注销登录,注销的时候问题来了,直接finish 跳转到Activity_Login就回导致以下问题。
当我们在Activity_Login中点击返回时,Activity_Main到了栈顶,完蛋了吧。
当然我们的登录-注销时模拟的,伪登录注销,不存在与服务器的长连接。。。。
问题解决:
项目做了有一段时间了,突然想起了这个问题,感觉自己当时处理的还算可以,分享一下。
首先
当我们在Activity_Main跳转到Activity_Setting的时候,我们要这样写
Intent mIntent=new Intent();
mIntent.setClass(Activity_Main.this, Activity_Setting.class);
startActivityForResult(mIntent, 1000);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);if(data==null)return ;
if (requestCode == 1000) {
String result_value = data.getStringExtra("close");
if(result_value.equals("Y")){
startActivity(new Intent(Activity_Main.this, Activity_Login.class));
finish();
}
}
}
在Activity_Setting中注销的时候这样写
Intent mIntent = new Intent();
mIntent.putExtra("close", "Y");
setResult(1000, mIntent);
finish();