2

私はAndroidアプリケーションに取り組んでいます。アプリケーションが実行されているときに、電話で最近のアプリケーション ボタンを押すと、Activity のonPause()メソッドが呼び出されます。このonPause内で、 finish()を呼び出します。したがって、アクティビティは破棄されます。

ただし、最近のアプリケーション リストには引き続き表示されます。

onPause()からアクティビティを破棄するときに、最近のアプリケーション リストにリストされていないことを確認するにはどうすればよいですか。

4

4 に答える 4

10

やってみる

<activity android:name=".MainActivity"
        android:excludeFromRecents="true" ...>

AndroidManifest.xml のアクティビティ宣言で。

公式ドキュメントからより多くを得る

このアクティビティによって開始されたタスクを、最近使用したアプリケーション (「最近のアプリ」) のリストから除外するかどうか。つまり、このアクティビティが新しいタスクのルート アクティビティである場合、この属性は、タスクが最近のアプリのリストに表示されないようにするかどうかを決定します。タスクをリストから除外する場合は「true」を設定します。含める必要がある場合は「false」を設定します。デフォルト値は「false」です。

アクティビティの開始時に特別なプロパティが必要な場合は、インテントに特別なフラグを指定します。この場合、FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS.

リンクに移動します。

于 2016-01-20T12:20:02.307 に答える
0

その理由は、Application インスタンスではなく、アクティビティのみが破棄されたためである可能性があります。Android は、ユーザーがアプリを再度開くのを待っています。アプリケーションを完全に終了するには、上記の API 16 に使用できます this.finishAffinity()

現在のアクティビティとその下にある他のすべてのアクティビティを終了します。ドクターが言うように

このアクティビティと、同じアフィニティを持つ現在のタスクのすぐ下にあるすべてのアクティビティを終了します

于 2016-01-20T12:22:18.553 に答える