Android, comment la faire un Tâche à l'avant-plan?
Ma question:
Comment puis-je lancer une nouvelle Activité dans sa propre Tâche tout en utilisant les règles suivantes.
1) Si l'Activité existe déjà comme une racine d'une autre Tâche (au sein de la même application) puis faire la Tâche à l'avant-plan. Je ne veux pas d'un autre exemple de l'Activité d'être créé. Je veux juste que les Tâches qu'il est la racine de venir à l'avant-plan et le sommet de l'Activité de la Tâche à être affiché.
Remarque: il ne sera la racine d'une Tâche à la fois et il existera tant que la racine de la Tâche et nulle part ailleurs.
2) Si l'Activité n'existe pas de créer cette Activité dans sa propre Tâche.
Pourquoi je suis en train de réaliser cet objectif?
J'ai créé quatre bas au fond de mes Activités qui devraient se comporter comme des onglets. Donc, si j'appuie sur le deuxième onglet "" je veux que l'Activité qui est associée avec celle de l'onglet. Mais si elle existe déjà et est sur le bas de sa propre Tâche, alors je voudrais que la Tâche est affichée avec n'importe quelle Activité qui est actuellement sur le haut de la Tâche.
Ce que j'ai essayé jusqu'à présent?
J'ai cherché sur stackOverflow et ne pouvait pas trouver une question similaire. J'ai lu http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html
et http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/
Je pense que j'ai besoin d'utiliser soit FLAG_ACTIVITY_NEW_TASK et/ou d'affinités, mais pas sûr. La recherche d'un coup de main s'il vous plaît.
Grâce,
Bradley4
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure de résoudre ce pour version d'Android >= Nid d'abeille:
vous avez également besoin de les ajouter à votre manifeste:
Vous devez utiliser FLAG_ACTIVITY_CLEAR_TOP et FLAG_ACTIVITY_SINGLE_TOP à votre appel à l'startActivity().
Vous pouvez définir la
Activity
'slaunch mode
(android:launchMode) dans leAndroidManifest
de manière à ne pas créer de nouvelles instances d'elle-même si elle est en cours d'exécution, mais lancera normalement quand il ne l'est pas. Ensuite, vous pouvez démarrer uneActivity
à l'aide de L'intention.Comment sur FLAG_ACTIVITY_REORDER_TO_FRONT?