protected void onCreate(Bundle savedInstanceState) {
//if user is already logged in open the profile activity directly
if (SharedPrefManager.getInstance(this).isLoggedIn()) {
finish();
startActivity(new Intent(this, Home.class));
}
buttonSignIn.setOnClickListener(this);
buttonSignUp.setOnClickListener(this);
}
如果用户已经登录,有人可以向我解释为什么finish()
在启动Home.class
之前被调用。我试图通过一些源代码而无法理解此
答案 0 :(得分:0)
在finish()
之后,您无法从活动获得上下文。
你必须开始这样的活动:
if (SharedPrefManager.getInstance(this).isLoggedIn()) {
startActivity(new Intent(this, Home.class));
finish();
}
答案 1 :(得分:0)
只需调用finish(); 它更像是这样做的意图:
Intent intent = new Intent(whereYouareActivity.this , mainActivity.class};
startActivity(intent);
答案 2 :(得分:0)
当您完成一项活动时,活动会被销毁但不会被销毁。这是Android编程的一个重要方面,对于理解它与其他平台的不同之处非常重要。
您可以通过添加以下行来完成您的活动: -
if (SharedPrefManager.getInstance(this).isLoggedIn()) {
startActivity(new Intent(this, Home.class));
finish();
}
答案 3 :(得分:0)
通过致电finish()
,您可以主动关闭当前的活动。这可以防止用户按下后退按钮时再次显示您的活动。