59

アクティビティは、マニフェストで最近のものから除外されていると宣言できることを知っていますandroid:excludeFromRecents: http://developer.android.com/guide/topics/manifest/activity-element.html#exclude

ただし、それは私が探しているものではありません。プログラムで最近のアプリからアプリを削除する方法があるかどうかを知りたいです

4

6 に答える 6

44

はい、一般的に、Activity開始時に特別なプロパティが必要な場合は、に特別なフラグを指定しIntentます。この場合FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

更新しました:

現在実行中のアクティビティを非表示にする必要がある場合は、このフラグを組み合わせて使用FLAG_ACTIVITY_CLEAR_TOP​​すると、新しいインテントが既存のに送信される可能性がありますActivity。ただし、ユーザーがスタック内を移動するときに何が起こるか、そしてそれによってアプリが最近のアプリに再表示されるかどうかを考え、実験する必要があります。

于 2012-11-14T18:54:25.757 に答える
10

以下はフラグの定義ですandroid:excludeFromRecents(私はあなたがすでに見たことがあることを知っています):

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

そのため、最近のアプリのリストからアプリを削除するには、アプリケーションの最初のアクティビティにこのフラグを設定します。これは、そのアクティビティがアプリケーションのタスクを起動するためです。アプリケーションに複数のタスクがある場合(ほとんどのアプリではあり得ない)、すべてのタスクのルートアクティビティにこのフラグを設定する必要があります。

于 2012-11-14T18:54:27.290 に答える