Question

J'ai un problème:

Mon application a plusieurs activités ( par exemple. StartActivity, MainActivity ), et un service ( par exemple. MainService ).

Lorsque le robinet d'utilisateur sur le bouton Accueil, l'activité devient plus visible, mais le service est toujours en cours (flux de travail normal).

Ce que je dois faire maintenant est que lorsque mon service reçoit un particulier de diffusion, je veux ramener au premier plan le MainActivity - l'instance existante -. (Il est l'activité qui a le android.intent.action.MAIN intention du filtre)

J'ai essayé cette solution , mais il ne fonctionne qu'avec la drapeau:. Intent.FLAG_ACTIVITY_NEW_TASK, et je ne peux pas utiliser ce drapeau parce que je ne veux pas commencer une nouvelle tâche, je veux juste apporter l'existant à l'avant (et par conséquent d'éviter plusieurs instances de l'application)

Merci beaucoup.

Cordialement.

Était-ce utile?

La solution

Vous devez ajouter le drapeau FLAG_ACTIVITY_NEW_TASK si vous commencez l'activité du service.

Pour plusieurs instances, vous pouvez ajouter à votre balise d'activité dans votre fichier manifeste:

android:launchMode = "SingleTask"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top