删除除第一个活动以外的所有活动

Foe*_*nix 5 java android android-activity

我想对主页按钮进行编程,因此它将删除Activities堆栈中的所有按钮,除了一个。我在这里做了:如何完成堆栈上的每个活动,除了 Android 中的第一个活动

public boolean onOptionsItemSelected(MenuItem item) {
    int itemId = item.getItemId();
    switch (itemId) {
    case android.R.id.home:
        Intent intent = new Intent(this, AMainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(intent);
        break;
...
Run Code Online (Sandbox Code Playgroud)

但这种方式不适合我,因为它删除了所有Activities(包括第一个)并再次启动第一个。例如 - 如果我在 中检查用户密码onCreate(),他会再次被问到。如何Activities从堆栈中删除所有内容,但第一个不会被“触及”?

shr*_*ari 2

将以下属性添加到您的manifest.xml中的AMainActivity的Activity标签中。

android:launchMode="singleTop"
Run Code Online (Sandbox Code Playgroud)