0

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

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

  • アクティビティ A-> 連絡先リスト
  • アクティビティ B -> チャット アクティビティ

各アクティビティのマニフェストのパラメーターは何ですか?

インテント通知の場合は?通知起動アクティビティBと戻るボタンを押してアクティビティAに行きたい.

4

1 に答える 1

0

何を探しているのか正確にはわかりませんが、次の2つのことが役立ちます。

  • 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

于 2012-05-02T22:09:52.367 に答える