2012-04-17 2 views
0

ユーザが自動化されていない場合、自動化アクティビティを表示する必要があります。メインのアプリの代わりに認可のアクティビティを表示する方法は何ですか?

私は次のコードでランチャー活性(nohistoryフラグを有している)を使用します:

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    if (Autorization.isAutorized()) 
    { 
     Intent newIntent = new Intent(this, MainActivity.class); 
     // add some flags???? 
     startActivity(newIntent); 
    } 
    else startActivity(new Intent(this, AutorizationActivity.class)); 
} 
autorizationが完了

AutorizationActivityFLAG_ACTIVITY_CLEAR_TOPでランチャーを開始し、Launcher開始MainActivity、私はbackstackといくつかtrublesを有します。 MainActivityに戻ると、アンドロイドはタスクを隠す代わりにAutorizationActivityを再度表示します。

防止するためにどのフラグを使用する必要がありますか?AutorizationActivityからMainActivityに戻ってください。

+0

私は履歴フラグを削除してfinish()を追加しました。 MainActivityメソッドを起動した後。それは正しい方法ですか? – Nik

+0

動作しても動作しない可能性があります。設定フラグは信頼できる方法です。 – ngesh

+0

動作です!また、私はAutorizationActivityの次のコードを追加しています: \t public void onBackPressed() \t { moveTaskToBack(true); \t} – Nik

答えて

1

これを行うにはいくつかの方法がありますが、最も簡単な方法はAndroidManifest.xmlファイルを使用することです。認可アクティビティにandroid:noHistory = "true"を追加するだけです。その代わりに、マニフェストで設定...今すぐあなたの旗は、現在のアクティビティをMainActivityにのみ適用されない。.. removing an activity from the history stack

+0

私はこのフラグを自動化活動に追加できません。つまり、1つのアクティビティではありません。ユーザーはavtorizationプロセスで戻る必要があります。 – Nik

+0

@Nik .. http://stackoverflow.com/questions/9937120/活動間の切り替え - 9917281#9937281 – ngesh

0

this..のようなマニフェスト何かにAuthorizationActivityのフラグを設定してみてください:

はまた、次の質問を見てください..

関連する問題