Android 检查我们是否来自安卓返回按钮

Android 检查我们是否来自安卓返回按钮,android,Android,我有一个Android应用程序,看起来像这样: 后勤活动->主要活动 @Override public void onBackPressed() { // do your stuff } 我的Android问题是,如果我们成功登录(我们在MainActivity),然后按手机上的后退按钮,我们将返回LoginActivity。这没有任何意义,因为我们已登录 如果我们从“后退”按钮返回,如何签入LoginActivity?我尝试了这段代码,但它没有帮助,因为当从Back按钮返回时onCrea

我有一个Android应用程序,看起来像这样:

后勤活动->主要活动

 @Override
public void onBackPressed() {

// do your stuff
}
我的Android问题是,如果我们成功登录(我们在MainActivity),然后按手机上的后退按钮,我们将返回LoginActivity。这没有任何意义,因为我们已登录

如果我们从“后退”按钮返回,如何签入LoginActivity?我尝试了这段代码,但它没有帮助,因为当从Back按钮返回时onCreate并没有运行

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);

    // Check if we are registered before, then just go to Main
    checkIfWeAreRegistered();
}

您可以在清单中设置
noHistory=true
将其从后台删除,而不是在您的
登录活动中检查
onBackPressed
调用。

在启动主活动之前,只要登录成功后完成登录活动即可

 Intent intent = new Intent(LoginActivity.class, MainActivity.class);
 startActivity(intent);
 finish();
其他方面 活动2在Main活动中自定义onBackPressed

 @Override
public void onBackPressed() {

// do your stuff
}

您可以使用startActivtyForResult()进行活动转换,并在登录活动中处理ActivityResult。您可以从此重写方法关闭活动


注意:您应该从main活动中按返回按钮调用setResult(RESULT\u OK)。

这样调用
finish()
很简单

Intent intent = new Intent(LoginActivity.this, HomeScreenActivity.class);
startActivity(intent);
finish();
或者试试这个

 Intent intent = new Intent(LoginActivity.this, HomeScreenActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 startActivity(intent);

如果已经注册,请尝试在MainActivity中签入onBackPressed方法。如果是,请不要转到LoginActivity

 @Override
public void onBackPressed()
{
     // code here 
     super.onBackPressed();  
}
@独奏

一旦您从
LoginActivity
转到
MainActivity
后,您的
LoginActivity
将转到backstack,因此单击
MainActivity
中的后退按钮,它将再次从backstack调用
LoginActivity
,在backstack中调用
onStart()
方法

您可以通过多种方式避免用户从
main活动返回
LoginActivity

首先

调用
MainActivity

比如说

Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish(); // will finish that activity.

Intent newIntent = new Intent(this,MainActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(newIntent);

这里是
Intent。FLAG\u ACTIVITY\u NEW\u TASK
清除堆栈并使其成为最上面的任务。因此,当我们按下后退按钮时,整个应用程序将终止。

当您继续维护活动时,完成您的登录活动您希望在其中后退的活动按钮单击谢谢Subhechu Khanal。这对我有用!在我以前的混合应用程序项目中,Javascript的工作方式是:BackButton.override();