Bonjour à tous,
Je suis assez nouveau dans le dev Android.
et je travail sur un service. J'ai le choix a utiliser startService(..) ou bindService(..).
Une première question est laquelle de ces actions pour lancer un service dois-je utiliser?
Ensuite mon service est lancer avec startService(..) pour le coup cela fonctionne assez bien.
Donc comme je disait j'ai lancer mon service a partir de mon activité dans un AlarmManager.
Et a un moment ou a un autre de doit stopper mon service .
Je fait donc stopSelf() dans mon service.
Mais mon activité est stopper également..
Une solution a cela m'aiderait beaucoup.
Je vous met le code:
Mon Activité:
Ma routine pour lancer mon service (MyServiceTask):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Intent myIntent = new Intent(this, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, myIntent, 0); AlarmManager alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.MINUTE,1);//one minute for launching service //alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 6000, pendingIntent); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 6000, pendingIntent);
Et dans mon service a un moment je fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Intent myIntent = new Intent(context, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent, 0); AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.MINUTE,2);//Fiveteen minutes to send a event BroadcastReceiver alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 6000, pendingIntent); PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE); Intent background = new Intent(context, MyServiceTask.class); context.startService(background);
Une petite aide .. Merci pour vos réactions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyServiceTask.this.stopSelf();
Partager