Aller au contenu

Service et intent, que mettre dans le manifest?


Burn2

Recommended Posts

Bonjour, j'utilise un service dans le cadre de mon application.

j'aurais besoin d'envoyer des informations au service d'ou l'intend.

Je dois visiblement mal m'y prendre vu que malgrès mes putvalue et getint à l'arrivé, je me retrouve toujours dans le catch en erreur avec un java null pointer exception.

Sachant que ma méthode marche pour les activity j'en déduis qu'il me manque quelque chose dans le manifest pour le service.

Dans mon manifeste j'ai:

              android:exported="false" android:label="OnBootReceiver"> 





              android:exported="false" android:label="Sleepytux" />

Que faut-il rajouter au service pour qu'il gère l'intent? (il doit aussi falloir le rajouter pour le .alarmReceiver je suppose)

Une ligne du style



je supposes mais quoi précisément?

Pour l'alarm je me suis basé sur le totu d'android-france, et j'arrive à faire passer des paramètres via l'uri mais je préférais y arriver via des putextras bien plus pratiques.

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Burn2,

Je ne comprend pas ta question. Le bundle s'envoie dans l'Intent comme pour une activité. Dans la méthode onStartCommand(Intent intent, int flags, int startId) du service tu as l'Intent transmis.

Il n'y a rien de spécifique à mettre dans le Manifest.

ichpa

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

Bonjour,

Une autre question toujours en rapport avec ce topic, mais tout à fait différent, y a t'il un moyen de dire à l'os de ne pas tuer mon service????

En fait voici le problème mon service doit tourner en continue, et rester en arrière plan, il ne fera rien avant le prochain top planifié, mais il doit rester en arrière plan, le problème c'est que en l'état, l'os décide de le tuer pour récupérer de la mémoire!

on le voit bien parce que si on utilise le téléphone d'un coup la méthode "onstart" s'exécute sans raisons et affiche donc le popu de démarrage!

Sachant que le service n'utilise que 4mo maximum, n'y a t'il pas un moyen dans le manifeste de dire à l'os qu'il ne faut pas tuer le service????

Comment gérez vous cela?

EDIT: la déclaration de mon service dans mon manifest:

<receiver android:name=".OnBootReceiver" android:enabled="true" 
              android:exported="false" android:label="OnBootReceiver"> 
              <intent-filter> 
                   <action android:name="android.intent.action.BOOT_COMPLETED" /> 
              </intent-filter> 
         </receiver> 
         <receiver android:name=".AlarmReceiver" android:process=":remote" />
          <service android:name="SleepytuxService2" android:enabled="true" 
              android:exported="false"  android:label="@string/app_name" >
          </service> 

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...