1

簡単な例を見てみましょう。私は HomeActivity を提示するアプリケーションを持っています。このアクティビティは RssListActivity (RSS アイテムを一覧表示する) につながり、これは単に私の RSS アイテムの詳細ビューを提供する 3 番目の ItemDetailActivity につながる可能性があります。一部の通知により、定義された記事で ItemDetailActivity が開かれる場合があります。

私のポイントは、通知の場合、通常のワークフローを復元することです。つまり、ユーザーが戻るボタンをクリックすると、RssListActivity に移動し、戻るボタンをもう一度クリックすると、HomeActivity に移動します。

もちろん、これらの各アクティビティでカスタム onKeyDown() をオーバーライドする必要はありません。

4

2 に答える 2

0

うまくいけば、私はあなたの質問を正しく理解しました、

フロー内で次のことを確認する必要があります。

Home > Task1 > Task2

「Task1」を開始するために通知が呼び出された場合、バックスタックは次のようになります。

Home > Task2 > Task1

これを行うには、Task1を呼び出しているインテントにFLAG_ACTIVITY_REORDER_TO_FRONTを追加します。アクティビティ(実行中の場合)をバックスタックの一番上に並べ替える必要があります。

于 2011-11-15T09:54:15.443 に答える
0

アクティビティを並べ替えてはいけないと思います。ユーザーに 2 つのナビゲーション方法を提供する方がよいでしょう。ユーザーが慣れ親しんでいる Android の方法。また、アプリケーションに保持する必要のあるある種の階層がある場合は、アプリケーションに戻るためのボタンを備えた ActionBar を (階層的な方法で) 配置できます。

また、あなたが望むことをする唯一の方法は onKeyDown メソッドをオーバーライドすることだと思います。

于 2011-11-14T21:25:36.137 に答える