La doc indique bien que même si l'application est fermée, le Worker continu, et bien non.
Une idée ?
Je code en Kotlin.
Voilà l'appel au Worker :
Code Kotlin : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 val constraints = Constraints.Builder() //l'appli doit avoir internet pour que le worker se lance .setRequiredNetworkType(NetworkType.CONNECTED) .build() val periodicWorkRequest = PeriodicWorkRequest .Builder( WorkerManager::class.java, 15, TimeUnit.MINUTES ) .addTag("TAG_WORKER") .setConstraints(constraints) .build() WorkManager.getInstance(applicationContext).enqueue(periodicWorkRequest)
Classe WorkerManager.kt :
Code KOTLIN : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class WorkerManager(context: Context, params: WorkerParameters) : Worker(context, params) { override fun doWork(): Result { //ici j'envoie une notification à l'utilisateur avec NotificationManager et NotificationCompat.Builder() // -> fonctionne parfaitement quand l'appli est ouverte //dès que l'appli est swipée (jetée vers le haut, pas "forcer la fermeture") : l'appli n'envoie plus de notification return success() } }







Répondre avec citation
Partager