Android 在不重新加载的情况下跳过“活动”,然后返回到该活动

Android 在不重新加载的情况下跳过“活动”,然后返回到该活动,android,Android,活动A称我为活动B和C Intent intent_mapa = new Intent(getApplicationContext(), ActivityB.class); intent_mapa.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent_mapa); Intent intent = new Intent(getApplicationContext(), Activ

活动A称我为活动B和C

    Intent intent_mapa = new Intent(getApplicationContext(), ActivityB.class);
    intent_mapa.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent_mapa);

    Intent intent = new Intent(getApplicationContext(), ActivityC.class);
    startActivity(intent);
然后C叫我去活动D

     Intent intent = new Intent(getApplicationContext(), ActivityD.class);
        startActivity(intent);
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {


    Intent intent = new Intent(getApplicationContext(), ActivityD.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);
    return false;
}
活动D然后调用我活动B而不重新加载WebView,活动B有一个WebView,我不希望url被重新加载

    Intent intent = new Intent(getApplicationContext(), ActivityB.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);
当我返回活动D时,我调用活动C而不关闭D,如果我想重新打开活动D,我不应该刷新活动D

     Intent intent = new Intent(getApplicationContext(), ActivityD.class);
        startActivity(intent);
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {


    Intent intent = new Intent(getApplicationContext(), ActivityD.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);
    return false;
}

Android“打开”活动的方式是(正如您在代码中看到的)通过意图。因此,您实际使用startActivity(Intent…)所做的是,您告诉Android您有运行指定活动的意图。现在它取决于Android如何处理您的意图的标志(标志活动)。另请参阅有关的官方文件

只要你不
完成活动,并且确保覆盖
onBackPressed
来处理你的导航,它应该可以工作。问题是我打开活动B至少两次,因为它是从活动A和活动D调用的。如何使它从不同的活动调用,我只打开一次????