如何在Android API 10上清理堆栈(Android 2.3.3)

Jor*_*Gil 4 android android-intent android-compatibility android-activity

我想知道如何清理堆栈的所有先前活动(新的除外),但我想在Android API 10(Android 2.3.3)中使用它.

在这个答案的指导下,我知道这不是直接可能的,因为自从API 11以来,专用的标志就存在了.

但我想知道这是否可能有一些兼容性,或者有人有任何解决方案.

提前致谢.

Dav*_*ser 5

在这样做的方法是始终使用开始您的活动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();
}
Run Code Online (Sandbox Code Playgroud)

这将完成堆栈中的所有活动.