1

持っていActivityA-->ActivityB-->ActivityCます。ユーザーがにいるときにHomeButtonを押したActivityB後、アプリケーションを再度開きたい場合は、アクティビティを再開しますActivityA。さて、それは呼び出しonStop();finish();で動作していActivityBます。

ただし、ユーザーがからActivityBに移動しActivityCてからに戻りたい場合はActivityBActivityBすでに呼び出されfinish();ているため、ユーザーはに表示されActivityAます。

では、ユーザーがHomeButtonを使用している場合ActivityBに、戻ってきた場合に利用可能にし、終了する方法はありますか?ActivityC

4

3 に答える 3

4

設定するだけ

android:clearTaskOnLaunch="true"

マニフェストのルートアクティビティ(ランチャーがアプリケーションを起動するために使用するアクティビティ)。次に、ユーザーがアプリケーションを使用しているときに、ユーザーがHOMEキーを押すとすぐに、タスクはルート(開始)アクティビティに戻されます。

于 2012-12-13T13:00:13.853 に答える
0

ActivityBでメソッドfinish()を呼び出さないでください

ここここを見てください

自分でonStop()を呼び出さないでください。これらのメソッドはライフサイクルメソッドであり、Androidシステムによって呼び出されます。

于 2012-12-13T12:57:29.723 に答える
0

アクティビティBからアクティビティCに移動するときは、アクティビティBでfinish()を呼び出さないでください。

私はあなたがこのようにやっていると思います

 startActivity(new Intent(Activity_B.this,Activity_C.class));
 finish();

アクティビティBからアクティビティCに移動するときにfinish()を削除します。

詳細については、このstackoverflowの質問にアクセスしてください。

于 2012-12-13T12:55:35.590 に答える