2016-08-02 13 views
2

私は2つのアクティビティを持っています。 1つのアクティビティは承認アクティビティであり、他のナビゲーションドロワはフラグメントによるものです。私が登録の道を歩み、ナビゲーションに乗ると、システムの戻るボタンを使ってログイン活動に入るべきではありません。私のシステムボタン忙しい場合、私はこの移行をブロックすることができますどのようにアクティビティへの移行を防ぐ方法

は、:

@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

わからない私が正しく理解している場合がありますが、アクティビティにログインするために戻ってくるアプリケーションをしたくない場合は、後にそれを終える必要がありますあなたのナビゲーション活動を開始する。マニフェストであなたのLoginActivity XML記述で

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

、追加:

android:noHistory="true" 

を@Alexは以下のコメントで述べたようにあなたがstartActivityForResult()を使用している場合、このフラグは動作しません。

+0

このフラグには注意してください。あなたのログイン活動が結果のためにいくつかの他の活動を呼び出す場合、このフラグはそれを壊すでしょう –

+0

もちろん。とにかく、この情報を編集に追加します。ありがとう! – Shaishav

関連する問題