2011-05-24 3 views
0

Excusez-moi pour mon mauvais anglais d'abord.Revenir à mes activités séparées par lanceur

J'ai une activité séparée de mon processus qui taskAffinity a été réglé sur = « », laissez-nous l'appelons X, et l'activité principale est A.

La question est, quand je fonctionne comme ceci:

1.A -> HOME -> (quelque chose de déclenché) -> show X

Si je finis X, il retournera à HOME, c'est ce que je veux.

Mais si j'agis comme ceci:

2.Une -> (quelque chose a déclenché) -> show X -> HOME

Je veux revenir à X en cliquant sur l'icône apk, et non à A

Comment le rendre? _?

Si je ne l'ai pas mis X à être séparés, il retournera à A dans le cas 1. Si je mets X taskAffinity = « », il ne reviendra pas à X en cas 2.

quelqu'un sait de quoi je parle> _ <?

+0

Je ne comprends pas votre exemple. Quel est (quelque chose de déclenché)? – Blundell

+0

Je démarre un service lorsque l'apk a été lancé, et le service a été configuré pour écouter un message entrant à partir d'Internet tel qu'un appel vocal/un appel vidéo. Donc, chaque fois que le service attrape un appel entrant, il va commencer X –

+0

Au lieu de lui donner une affinité vierge essayez de lui donner son propre paquet android: taskAffinity = "com.you.service.found.message" – Blundell

Répondre

0

Si vous souhaitez avoir une seule icône pour votre application, vous ne pouvez pas définir taskAffinity="" pour l'une des activités. Cela vous donnera 2 tâches distinctes et l'utilisateur ne pourra pas retourner à l'un d'entre eux car il ne peut pas faire la différence.

Il me semble que vous devriez utiliser activityA comme un répartiteur. Lorsque "quelque chose se déclenche", vous démarrez activityA et vous ajoutez un Intent supplémentaire que vous utilisez pour démarrer activityA. Cet extra dit essentiellement à actvityA qu'il devrait démarrer activityX. Si je vous suis correctement lorsque activityA obtient ce Intent avec le supplément spécial, il devrait démarrer ActivityX et ensuite appeler finish(). Si l'utilisateur appuie sur "retour" pendant l'activité X, il retournera à l'écran ACCUEIL (pas à l'activité A).

Questions connexes