Aller au contenu

Lancer une activity depuis une classe n'héritant pas d'activity


Lord Yu

Recommended Posts

Bonjour,

Dans le cadre de mon application j'ai un class qui tourne toujours en background, c'est une bête class qui n'extend pas activity (elle hérite déjà de Thread). J'aimerais dans certaines conditions lancer une activity depuis celle-ci mais je n'ai pas de context donc un Intent(this, maClass.class) ne fonctionne pas.

Vous avez pas une solution pour moi?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Ton architecture n'est pas bonne.

Il faut que ce soit un service, avec les service Android tu a un context et donc lancer une Activité.

De plus le Service est autonome et peut donc continuer a exister même si ton application n'est pas au premier plan.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Le plus simple c'est de passer à cette classe un "context" Androïd en paramètre du constructeur (une référence this de l'activité qui a créée cet objet par exemple). Avec ce context tu peux lancer une activité. La solution du service est effectivement + adaptée si ta classe en question est toujours en tache de fond.

Frédéric

Lien vers le commentaire
Partager sur d’autres sites

Je te déconseille fortement de garder une référence vers une Activity en tant que Context.

Ca a tendance à provoquer des fuites de mémoire.

Que fais tu dans cette classe en "background"?

Il faut peut être utiliser un service dans ton cas...

Si tu veux une Context disponible tout le temps, je te conseille de te tourner vers la classe Application.

Il y a toujours une instance unique de crée (donc tu peux faire un singleton)

Ne pas oublier d'ajouter le flag "new task" lors de l'ouverture d'une Activity :P

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...