Créé un IntentService
et de mettre for loop
dans la méthode onHandleIntent
. Chaque fois que je ferme l'application (retirer de la récente pas forcer la fermeture) il s'est arrêté. Mais onDestroy
n'a pas appelé. J'ai également essayé sur différents appareils. Je ne pense pas que c'est un problème de mémoire insuffisante.
Le service signifie-t-il être utilisé uniquement lorsque l'application est en premier plan?
Je dois faire une tâche à l'arrière du thread principal et le service se ferme à mesure que l'utilisateur ferme l'application.
ici est mon exemple de codeLe service Android s'arrête juste après la fermeture de l'application
public class MyIntentService extends IntentService {
private static final String TAG = "MyIntentService";
public MyIntentService() {
super("MyIntentService");
}
@Override
protected void onHandleIntent(Intent intent) {
for (int i = 0; i < 30; i++) {
Log.d(TAG, "onHandleIntent: " + i);
try {
Thread.sleep(600);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy: ");
}
}
refs: How to keep an IntentService running even when app is closed?
Service restarted on Application Close - START_STICKY
pourquoi devrais-je utiliser onTaskRemoved. Le service ne devrait pas être tué à moins que la mémoire ne devienne faible. Selon Android doc c'est la fonctionnalité par défaut. –