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