2011-06-21 7 views
1

私のアプリのアクティビティスタックをクリアできません。私のアプリの開始時に私はユーザーのログインを行い、それらにセッションIDを与えます。彼らはログインした後、アプリケーションの使用を続けることができます。しかし、セッションが期限切れになった場合は、それらをログインアクティビティにリダイレクトして、アプリケーションにアクセスできないようにアクティビティ履歴をクリアします。私はAndroid APIを見て、インテントフラグFLAG_ACTIVITY_CLEAR_TASKがほしいと思っていますが、APIレベル11に含まれていて、携帯電話にはまだ新しいOSがありません。誰にもこの問題の解決策がありますか?ありがとう。アクティビティスタックをクリアする

答えて

2

私の答えはhereです。私は、すべてのアクティビティにメソッドfinish()を呼び出すように指示するという意図をブロードキャストする必要があることが分かります。

1

FLAG_ACTIVITY_CLEAR_TOPのドキュメントは、あなたがFLAG_ACTIVITY_NEW_TASK

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

と一緒にそれを使用する場合、あなたが望むような状況を説明し、「この起動モードもFLAG_ACTIVITY_NEW_TASKと一緒に良い効果に使用することができます。開始するために使用される場合タスクのルートアクティビティであれば、そのタスクの現在実行中のインスタンスをフォアグラウンドに持ってきて、それをルート状態にクリアします。これは、たとえば通知マネージャからアクティビティを起動するときなどに特に便利です。

+1

私は "i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);"を試しました。私が戻るボタンを押したときには、startActivity(intent)、call finish()、およびlogin()を呼び出した後で、以前のすべてのアクティビティをクリアするために、preveアクティビティ –

+0

user intent.setFlags \ mainActivityは、状態が変更されたときに非表示にしたい – galvan

関連する問題