一个activityA开启activityB,再跳回activityA的跳转与finish()

来源:互联网 发布:数据融合 编辑:程序博客网 时间:2024/05/07 23:20

解决:
1.两个不同的界面跳转,并跳回,跳转界面后不能被关闭
2.禁止且避免跳回上一个界面时,又开启一个activity
解决方法:
以登录为例
1.

 <activity            android:name=".ui.personal.activity.PersonalActivity"            android:configChanges="orientation|keyboardHidden|screenSize"            android:screenOrientation="portrait"            android:launchMode="singleTask"            android:windowSoftInputMode="stateHidden|adjustResize"></activity>        <activity

android:launchMode=”singleTask” 使用该启动模式,会保留一个此activity,不会再重新开启,如果以前打开存在过,当你需要的跳回该界面时,该界面就会从底层移到顶层
2.在个人中心打开登录

 case R.id.person_no_login_layout:                Intent loginIntent = new Intent(PersonalActivity.this,                        PersonalLoginActivity.class);                startActivity(loginIntent);

3.在登录activity中重写onNewIntent()方法

 @Override    protected void onNewIntent(Intent intent) {        super.onNewIntent(intent);        boolean success = intent.getBooleanExtra(PLATFORM, false);        if (success) {            finish();        }    }

该方法结合task模式使用

4.在登录界面选择QQ登录或微信登录

 Intent intent = new Intent(WXEntryActivity.this, PersonalLoginActivity.class);                intent.putExtra(PersonalLoginActivity.PLATFORM, true);                startActivity(intent);
  Intent intent = new Intent(QQLogingActivity.this, PersonalLoginActivity.class);                intent.putExtra(PersonalLoginActivity.PLATFORM, true);                startActivity(intent);
0 0
原创粉丝点击