2016-08-02 52 views
2

我有两个活动。一项活动是授权活动,另一项是带碎片的导航抽屉。当我走上注册方式并开始导航时,我不应该使用系统后退按钮进入登录活动。如何防止过渡到活动

我如何阻止这种转变,如果我的系统按钮忙道:

@Override 
public void onBackPressed() { 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    if (drawer.isDrawerOpen(GravityCompat.START)) { 
     drawer.closeDrawer(GravityCompat.START); 
    } else { 
     super.onBackPressed(); 
    } 
} 
+0

他正在寻找**完全**做相反的事情:)您可以在授权活动中调用'finish()'并将其销毁,然后按回退出应用程序。 – Vucko

回答

2

不知道如果我理解正确的,但如果你不想让你的应用程序回来登录活动,你应该后完成它开始您的导航活动。

void onAuthorized() { 
    Intent intent = new Intent(this, NavigationActivity.class); 
    startActivity(intent); 
    finish(); 
} 
0

在体现你LoginActivity XML描述,添加:

android:noHistory="true" 

像@Alex在下面的评论中提到的,如果你使用startActivityForResult()此标志将不起作用。

+0

谨慎使用此标志。如果您的登录活动调用其他一些活动来获得结果,则此标志将打破它 –

+0

当然。无论如何,我会在编辑中添加此信息。谢谢! – Shaishav