2017-09-19 2 views

Répondre

0

Malheureusement, si l'activité B est définie dans le manifeste pour utiliser android:launchMode="singleTask", il n'y a aucun moyen (que je sache) de surcharger cela.

Cependant, vous pouvez supprimer cet attribut de votre code manifeste et utiliser au lieu comme celui-ci lorsque vous voulu le comportement singleTask:

Intent intent = new Intent(this, ActivityB.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 

Le résultat final est que vous obtenez le comportement singleTask quand vous le voulez, et vous ne l'obtenez pas quand vous ne le voulez pas. Vous devez juste changer la stratégie.

0

utilisation ci-dessous code dans la méthode de presse onBack d'activité

@Override 
    public void onBackPressed() { 
    Intent BackpressedIntent = new Intent(); 
    BackpressedIntent .setClass(getApplicationContext(),B.class); 
    BackpressedIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(BackpressedIntent); 
    finish(); 
}