Bonjour
Je migre une application vers Android 9 qui tourne sans problème sur Android7.
J'ai bien noté qu'apparait la notion de Channel pour les intents, et j'arrive sans problème à faire passer mon service en avant-plan en utilisant ces nouvelles fonctionnalités.
J'arrive aussi à démarrer un service directement depuis le BroadcastReceiver sur l'action "Intent.ACTION_BOOT_COMPLETED" puis à le faire passer en avant-plan
Cependant, impossible d'arriver à démarrer mon activité principale, j'ai essayé un peu tous les moyens, et ça ne fonctionne pas: je ne trouve pas l'astuce.
J'arrive bien dans mon BroadcastReceiver en fin de boot (j'ai un log dans room qui me le confirme), mais l'activité ne se lance pas. Si je lance le service, par contre, ça fonctionne (mais ça ne m'arrange pas).
Bref, ceci fonctionne:
Mais pas ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part context.startForegroundService(Intent(context, ServiceMe::class.java))
Si quelqu'un dispose d'un bout de code pour démarrer une activité en SDK >=26 sur un BroadcastReceiver, ce serait sympa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 val intent = Intent(context, MainActivity::class.java) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) context.startActivity(intent)
Merci d'avance,
Claude
Partager