-2
votes

Pourquoi getintent () erreur rouge ligne dans mon code?

Je veux envoyer des données de modelachage de la MainActivity au locationvice. Mais lorsque je souhaite revenir de données sur locationvice et tapez cette ligne de code. Mais fini par une erreur rouge ligne.

J'ai essayé ce getintent () a écrit en rouge , mais je veux utiliser l'objet sur une autre méthode, et Alos L'objet devient null. xxx

 Entrez la description de l'image ici

J'espère que vous pouvez aider et peut-être avoir des autres suggestions. merci


8 commentaires

Si cette méthode est en service, utilisez l'intention de l'intention = gettaplicationContext (). Getintent ();


Probablement parce que #geintent () est la méthode de activité . Et ce n'est pas une classe .


Je l'ai essayé. ça ne marche pas aussi. @Nickbapu


Alors, comment je peux envoyer des données de l'activité au service? @Adm


Pour envoyer des données de l'activité au service, vous pouvez implémenter l'interface. Permettez-moi de modifier ma réponse.


D'ACCORD! Je comprends probablement que vous utilisez LocaliséService étend le service. Vous pouvez également utiliser Interservice à cet effet.


Donc, LocalisationsService étend-il desservies? @Nickbapu


Oui, il existe un moyen facile de traiter des données avec l'intention en utilisant Intitifservice.


4 Réponses :


0
votes

Comme vous essayez d'appeler getintent à partir du service, ce n'est donc pas la méthode de la classe de service, vous devez avoir une référence de classe d'activité avant de l'appeler comme xxx pré>

édité: p>

maintenant pour envoyer des données de l'activité au service Vous pouvez implémenter une interface p>

déclarer une interface p> xxx pré>

Mettre maintenant dans votre service comme p> xxx pré>

maintenant dans l'activité où vous initialisez le service, vous devez avoir sa référence, vous pouvez donc appeler n'importe où dans Activité P>

 service.call()


1 commentaires

Vous pouvez passer une intention dans la méthode des appels (), j'ai oublié d'ajouter cela, selon vos besoins.



0
votes

Vous pouvez également utiliser getintent (). getparcelableextra (extra_info); Vous n'avez pas besoin de créer une variable intention la sensible 'getintent ()' dans cela..juste l'obtenir directement.


0 commentaires

0
votes

Vous pouvez utiliser Intitifservice pour ce type de travail:

Intent serviceIntent = new Intent(context, LocationService.class);
startService(serviceIntent);


0 commentaires

1
votes

Vous pouvez transmettre des données à l'aide de l'intention xxx

récupérer des données de service xxx

Vous pouvez également regrouper toutes vos données et ajouter que t Entrez le code ici O Votre intention


0 commentaires