私は2つのアンドロイド活動をしています(A1とA2と呼ぶことができます)。最初の目的は、いくつかの線形レイアウト項目を表示することではありません。また、新しいアイテムを追加するボタンも備えています。以下の意図を使用して追加ボタンをクリックすると:アンドロイドの活動は一時停止していません
//...
Intent intent = new Intent(this, CreateActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
//...
アプリケーションが最初の一時停止A2 に切り替える必要があります。 A2でタイプにアクセスすると、私はこれでA1に戻ります:
//...
Intent intent = new Intent(super.getContext(), HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.putExtra("type", this._type);
super.getContext().startActivity(intent);
//...
インテント、新しいアイテムをレイアウトに追加します。 今、A2からA1に切り替えるたびに呼び出されるonCreate, onResume, onPause
メソッドがあります。それは正常なアンドロイドの行動ですか?
は、私の知る限りアクティビティのライフサイクルを理解されるようにフラグNEW_TASK
、およびCLEAR_TASK
は
。彼らが呼ばれるている活動を一時停止する新しいプロセスを開く私はアンドロイドで活動を切り替えるについて、いくつかの異なる資料を読むのが、didnのしました明示的にアクティビティにポーズをとるように指示し、onCreateなどをもう一度呼び出さない方法のポイントを得ます。
なぜIntent.FLAG_ACTIVITY_NEW_TASKとIntent.FLAG_ACTIVITY_CLEAR_TASKを使用しますか? –
これらの目的は、A1を一時停止する新しいタスクを作成するためにAndroidに明示的に伝えることでした。 2番目のタスクはタスクを終了し、A1に戻り、onResumeをトリガーします。 – hGen
uはインテントフラグを持つ行を単に削除することができ、A2アクティビティからthis.finish()を呼び出すとタスクが終了します –