1

「A」と「B」の2つのアクティビティがあり、「A」は「B」から始まります。startActivityForResult()メソッドを使用してアクティビティ「B」を開始します。「B」がフォアグラウンドにあり、ホームボタンが押されると、アプリはバックグラウンドに移動します。また、アプリを再度起動しようとすると、「B」ではなく「A」のアクティビティで始まります。アクティビティ「B」の結果はキャンセルされます。なぜ「B」が閉じているのですか?マニフェストでlaunchModesを使用すると問題を解決できると思いましたが、ドキュメントには、結果がキャンセルされてアクティビティが開始されないため、singleTaskモードとsingleInstanseモードを使用できないと記載されています。

どうすればこれを解決できますか?

PS回答ありがとうございます、問題は解決しました。onStop()でfinish()を使おうとしたので、アクティビティ「B」がフォアグラウンドでホームボタンを押すと終了します。

4

1 に答える 1

0

メソッドstartActivity(Intent)を使用して、インテントでアクティビティBを開始します。

インテントは、引数A.thisおよびB.classを使用して作成する必要があります。その結果、コードは次のようになります。

インテントi=new Intent(A.this、B.class);

A.this.startActivity(i);

于 2012-04-30T08:01:17.847 に答える