2010-07-09 3 views
1

Existe-t-il un moyen d'obtenir une instance de l'activité qui a appelé l'activité en cours d'exécution à partir de l'objet d'intention qui lui a été transmis? par ex. si A a appelé B, je voudrais récupérer l'instance de A à partir de l'intention de la méthode onCreate de B. Étant donné que l'activité n'est pas sérialisable, je ne suis pas en mesure de transmettre l'instance dans le bundle extras. Toute aide sur ce serait génialObtenir une instance d'activité qui en déclenche une autre

Merci.

Répondre

0

Ce n'est pas possible, et cela pose un risque de sécurité, l'intention peut être déclenchée par une application tierce et ainsi vous pouvez y accéder.

Pourquoi voulez-vous faire cela? Transmettez simplement les variables dont vous avez besoin ou créez une classe réduite pour stocker les données que vous souhaitez transférer.

+0

Salut Merci pour votre réponse. Les données que je veux transmettre contiennent une instance de Socket qui n'est pas sérialisable et ne peut donc pas être transmise en tant que figurants. J'ai également modifié un peu mon code et je souhaite maintenant transmettre ces données à un service lorsqu'il est démarré à partir d'une activité. Y a-t-il un autre moyen d'obtenir cette instance Socket? – shretima

0

une note générale sur le passage de données entre activités: Si l'objet que vous voulez transmettre (je suppose que vous pouvez écrire un wrapper si vous ne pouvez pas modifier la classe réelle) implémente Parcelable - alors vous pouvez le passer entre activités bien. J'ai dû faire quelque chose comme ça récemment et j'ai écrit quelques lignes sur how to get going with parcelable. Hope it helps,

Vive

Questions connexes