2017-05-03 1 views
0

Je suis très nouveau pour Android si ce peut-être une question vraiment fondamentale:Mise à jour/redémarrage service Android Préférences

J'ai un service qui commence lorsqu'un utilisateur presse un bouton

Le service commencera une nouvelle tâche et bouclez-le toutes les N secondes. Les secondes sont définies dans l'onglet Paramètres de mon application Android.

Dans la méthode OnStart() dans le service obtenir les préférences:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 

et définissez les paramètres, par exemple:

final Long pollInterval = Long.parseLong(settings.getString("pollInterval", "1000")); 

Le Groupe est Interrogation sur une base de données pour les nouveaux entrys. Mon objectif est de redémarrer le service après être revenu à l'image principale afin que la méthode onCreate obtienne les nouvelles préférences ou que les préférences de la tâche en cours soient actualisées pour changer l'intervalle d'interrogation.

J'ai essayé de redémarrer le service avec:

startService(serviceIntent); 
stopService(serviceIntent); 

Mais pour quelque raison que cela ne fonctionne pas.

Merci d'avance pour les réponses.

Répondre

0
Use this one to repeat service 



try { 

      //Create a new PendingIntent and add it to the AlarmManager 
      Intent intent = new Intent(this, Service.class); 
      PendingIntent pendingIntent = PendingIntent.getService(this, 
       12345, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
      AlarmManager am = 
       (AlarmManager)getSystemService(Activity.ALARM_SERVICE); 
      am.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 
        2*60*60,pendingIntent); 

      } catch (Exception e) {} 

Also stop service when your task is completed