4

スタックの以前のすべてのアクティビティ (新しいアクティビティを除く) を削除する方法を知りたいのですが、Android API 10 (Android 2.3.3) でそれが必要です。

この回答に導かれて、API 11以降に専用のフラグが存在するため、直接不可能であることはわかっています。

しかし、これが可能かどうか、互換性があるかどうか、または誰かが解決策を持っているかどうかを知りたいです。

前もって感謝します。

4

2 に答える 2

6

これを行う方法は、常に を使用してアクティビティを開始することstartActivityForResult()です。アクティビティ スタックをクリーンアップする場合は、現在のアクティビティを呼び出しsetResult(RESULT_CANCELED)てから を呼び出しますfinish()。すべてのアクティビティ (メインまたは「ルート」アクティビティを除く) には、次のメソッドがあります。

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_CANCELED) {
        // Want to clear the activity stack so I should just go away now
        setResult(RESULT_CANCELED); // Propagate result to the previous activity
        finish();
}

これにより、スタック内のすべてのアクティビティが終了します。

于 2012-09-04T15:37:52.390 に答える
0

スタックに保持したくない各アクティビティにマニフェストファイルandroid:noHistory="true"を追加できます

于 2012-09-02T08:27:09.357 に答える