2016-08-02 60 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