Burn2 Posted October 7, 2010 Share Posted October 7, 2010 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 More sharing options...
Burn2 Posted October 7, 2010 Author Share Posted October 7, 2010 Personne n'aurait d'idée? Link to comment Share on other sites More sharing options...
ichpa Posted October 7, 2010 Share Posted October 7, 2010 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 More sharing options...
Burn2 Posted January 10, 2011 Author Share Posted January 10, 2011 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 More sharing options...
Burn2 Posted January 10, 2011 Author Share Posted January 10, 2011 Visiblement j'ai ma réponse ici: http://android-developers.blogspot.com/2010/02/service-api-changes-starting-with.html C'est quand même un bon merdier. Je déteste qu'on impose des méthodes parce certains créaient des services à tout bout de champ et qu'ils laissent tourner. pff Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.