7 votes

Lanceur + activité singleTask dans Android

J'ai un problème de lancement d'activité dans mon projet.

Mon activité "Home" (H) permet de choisir certains services. Disons que S11->...-> S1n est un flux d'activité pour le service (S1). H est l'activité LAUNCHER de mon application.

De plus, je dois passer de H à une autre application, puis revenir à celle-ci. Comme je ne peux pas modifier le comportement de cette application, je dois déclarer mon activité H comme "singleTask" pour éviter d'avoir plusieurs instances de celle-ci dans ma pile d'activités.

Le problème est que mon application ne peut pas être relancée sans couper les activités qui ont été poussées après H. Ainsi, par exemple, si j'ai H-S11-S12, puis que j'appuie sur HOME et que je relance à partir du menu des applications récentes, j'obtiens H comme activité de premier plan.

Des idées ? Y a-t-il un moyen de faire fonctionner cette combinaison ? Merci !

-1voto

tiny sunlight Points 3167

Vous n'avez pas besoin de singleTask. Utilisez startActivityForResult au lieu de startActivity . Ou utilisez Fragments au lieu de Activities

startActivityForResult(new Intent(H.this,S11),1);

public onActivityResult(int requestCode ){
    if(requestCode == 1){
       startActivityForResult(new Intent(H.this,S12),2);
    }else if(requestCode == 2){
       startActivityForResult(new Intent(H.this,S12),3);
    }
    ...
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X