Je développe une application Android qui envoie toutes les 5 minutes un message à un serveur afin que le serveur puisse vérifier si le téléphone est connecté ou non. J'utilise AlarmManager
, en envoyant une diffusion PendingIntent
à un BroadcastReceiver
qui envoie un message à un serveur.Le problème est que ce ne sont pas toujours en cours d'exécution:AlarmManager n'est pas toujours en cours d'exécution
Intent myIntent = new Intent(Inicio.this, NetworkStatusReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(Inicio.this,
0,
myIntent,
0);
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int interval = 60000*5;
manager.setRepeating(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis(),
interval,
pendingIntent);
est la classe AlarmManager
la bonne façon de le faire?
Parce que j'ai fait des recherches sur les versions Android 5.0+ et la gestion de l'alimentation est différente des versions antérieures android. Peut-être que l'option AlarmManager.RTC_WAKEUP
ne fonctionne pas sur les versions Android 5.0+.
Est-il arrivé dans un téléphone spécifique? – Saveen
@ Save L'application est utilisée sur différents appareils avec différentes versions Android. Principalement 5.0.2 ou 6. + (il y a quelques vieux appareils qui fonctionnent 4. +, avec ceux-là, il semble que ça marche!) –