2012-03-18 6 views
2

私はAndroidアプリケーションをプログラミングしていて、興味深い問題があります。バックキーは同じアクティビティに無限ループします

私のアプリケーションには、起動イベントのフィルターを定義するLoginActivityがあります。 ログインが完了すると、startActivity(new Intent(LoginActivity.this, HomeActivity.class))を使用して「ホーム」アクティビティを開始し、finish()を使用してLoginActivityを停止します。

HomeActivityは通知付き単純ダッシュボードで、onCreateonStartを上書きします。また、AsyncThreadを使用していくつかのコンテンツアイコンを更新します。

問題は次のとおりです。ホームボタンを押してアプリケーションを終了し、「最近の」メニュー(Android-Homeボタンを押したまま)を使用して再度開くと、バックキーは私のアプリ:それはHomeActivityを終了し、代わりに戻って同じ活動にループしません押す:

意味... HomeActivity < - 私はどんなハックを使用していないHomeActivity ...

- HomeActivity < - HomeActivity <バックスタックまたはバックキーの動作を無効にします。 誰かがこれの原因が何かを知っていますか? TIA、パトリック

+0

と遊ぶのも良いこと(ActivityManager, START intent ...

ログから見えるすべきですか? –

+0

onStartは基本的にデータのリロードをトリガーします(まだ実行されていない場合は新しいAsyncTaskを開始します)。 – Patrick

答えて

2

は多分ログインアクティビティはログインが完了したことを検出し、あなたはすぐに戻ってあなたの家の活動に送信します。それは、その場合には、)あなたがONSTART(で何をしましたbackstack

+0

ああ、stupidstupid。あなたは正しいのです - それはもちろん行います。したがって、これがHomeActivityに戻る理由です。 – Patrick

+1

そして、 "loggedOn"のケースで再起動されたときにバックスラックが操作を取り除くために操作されなかったという問題があります。ああ、夜は決してプログラムしない^^ありがとう! – Patrick