Jump to content

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.

Link to comment
Share on other 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

Link to comment
Share on other 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> 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...