Android压缩不起作用
我正在尝试构建一个简单的登录 & 注册在android中的应用程序。我的问题是,我想处理backpressed()
,但它不工作。Android压缩不起作用
实施例:我具有3个活动:登入,寄存器和验证。我需要的是,如果我们返回点击注册或验证,导航应该去登录,如果我们回来点击登录,应用程序应该关闭。
我已经尝试了这些代码行,但他们不工作。他们将导航到先前访问的活动。 此代码是登入活动
@Override
public void onBackPressed() {
Intent i = new Intent();
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
}
此代码寄存器活动
@Override
public void onBackPressed() {
Intent i = new Intent(getBaseContext(), LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
我需要什么是,如果我们返回点击注册或验证, 导航肩d去登录,如果我们退回点击登录, 应用程序应该关闭。
要转到SignInActivity
onBackpressd()
从Verify
和RegisterActivity
:
@Override
public void onBackPressed() {
Intent i = new Intent(this, SignInActivity.class);
finishAffinity();
startActivity(i);
}
在SignInActivity
:
@Override
public void onBackPressed() {
finish();
}
希望这有助于。
这是以某种方式工作,但不是我想要的。例如。如果我登记,我压抑,它会登录,但如果我再次去注册,然后验证和压缩它将注册。 –
是@tahsinRupam –
21 @tahsinRupam –
的。如果您正在为API> 16
@Override
public void onBackPressed(){
finishAffinity();
super.onBackPressed();
}
不工作@Sadham Hussain –
这是肯定的!
@Override
public void onBackPressed() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finishAffinity();
System.exit(0);
}
这是怎么回事? –
完成将始终转到堆栈上的上一个活动。意图标志需要在您的活动启动时进行设置,而不是在您的活动被杀死时进行设置。
你使用工具栏?或动作栏后退? – rafsanahmad007
你应该在onBackPressed方法中调用super! –
我正在使用设备后退按钮@ rafsanahmad007 –