2012-05-02 6 views
0

私は8つ以上のアクティビティを持つ簡単なチャットアプリケーションを開発しています。しかし、私の主な問題は、私のアプリケーションの2つの活動です。 whatsappにはメインアクティビティ(連絡先リスト)とチャットアクティビティがあり、いつでも、whatsappアプリケーションはアプリケーションリストからアプリケーションを開始するスタック状態を維持します。また、アプリケーションが通知から開始する場合は、重複したアクティビティはスタックに表示されません。アプリケーションでこの動作をコピーしたいのですが、すべての可能性を試していますが、アクティビティが破棄されない場合、スタックにアクティビティが重複している場合、アプリケーションに戻るときにスタック状態を維持しようとする問題があります。Androidのアクティビティを維持する通知付きスタック

誰でもその実装方法を知っていますか?

  • 活動A->連絡先一覧
  • 活動B->活動

チャット各活動のマニフェストのパラメータは何ですか?

インテント通知は?私はアクティビティAに行くに通知発射活動Bと背中を押すボタンをしたい

答えて

0

私はあなたが探しているものを正確にわからないんだけど、ここに助けるかもしれない二つのものです:

  • android:noHistoryは:アクティビティー・スタックにトレースを残すことが想定されるアクティビティーのマニフェストでこの属性をtrueに設定します。つまり、ActivityA - > ActivityB(noHistory = true) - > ActivityCを選択し、ユーザーが戻るボタンを押すと、ActivityBは既にアンロードされているため、ActivityAに戻ります。
  • Activity.finish():これが呼び出されたアクティビティは終了します。通常のコールバック(onStop()onDestroy())が呼び出されます。重複した活動を防止したい場合は、重複したくない活動のonPause()でこれを呼び出すと役に立ちます。

ものは十分ではない場合には、より多くの詳細は、「バックスタック」マニュアルにあります。

https://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

+0

問題は、通知目的は余分なパラメータを使用して新しいタスクとして活動Aを起動することですアクティビティAがロードされると、インテントのパラメータが取得され、アクティビティBが起動されるので、アクティビティBを終了したら、戻るボタンを押すとアクティビティAに進みますが、この瞬間に家を押した後、長時間待っていると、アクティビティBを起動するインテントパラメータでアクティビティAが再び起動されるため、アクティビティBに再び入ります。問題は、ランチャーから私のアプリを起動したときに表示されます。 – Igor

関連する問題