我正在使用登录、注册和用户详细信息创建小型应用程序。登录后,我会将登录凭据存储到共享首选项并导航到仪表板活动。第二次直接导航到仪表板活动。此级别的代码运行良好。
请考虑我有三个活动MainActivity、LoginActivity、RegisterActivity、DashboardActivity 和 ProfileActivity。
在我的MainActivity如果用户值是 sharedPreference 直接移动到DashboardActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(new SessionManager(getApplicationContext()).isLoggedIn()){
startActivity(new Intent(getApplicationContext(), DashboardActivity.class));
}
}
在我的仪表板活动中
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageButton imgBtn = (ImageButton) findViewById(R.id.imageButton1);
imgBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(getApplicationContext(), ProfileActivity.class));
}
});
}
现在只需按下设备中的后退按钮即可转到MainActivity而不是DashboardActivity。我只想将活动移动到DashboardActivity,而不是MainActivity。请指导我如何做到这一点。以及如何在 Android 中处理会话。
此外,我在使用哪些标志和在哪里使用方面有些困惑。我在DashboardActivity中尝试过,但没有工作。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageButton imgBtn = (ImageButton) findViewById(R.id.imageButton1);
imgBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent newIntent = new Intent(getApplicationContext(), ProfileActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
newIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(newIntent);
}
});
}
现在我尝试了各种可能的方法,但没有得到解决方案。
将DashboardActivity导航到任何 Activity 不会返回DashbarodActivity而不是转到MainActivity后,就会出现主要问题。我不知道为什么会这样。MainActivity导航中的任何问题