Nous sommes sur le point de mettre à jour notre application Android API 26. Dans la documentation sur récepteur de diffusion , il est dit que
Les applications qui ciblent Android 8.0 ou supérieur ne peuvent plus enregistrer de récepteurs de diffusion pour des diffusions implicites dans leur manifeste
Les récepteurs de diffusion implicites sont décrits comme
une diffusion qui ne cible pas spécifiquement cette application. Par exemple, ACTION_PACKAGE_REPLACED
Je suppose donc que Android.intent.action.BOOT_COMPLETED
Est considéré comme un récepteur implicite.
En outre, il indique que les récepteurs implicites doivent être enregistrés dans un Activity
en utilisant Context.registerReceiver()
. Mais cela n'aurait aucun sens pour un récepteur, qui écoute l'événement BOOT_COMPLETED
.
Quelle est la bonne façon de gérer cela? Puis-je conserver ce récepteur dans mon manifeste?
BOOT_COMPLETED est toujours accepté.
https://developer.Android.com/guide/components/broadcast-exceptions.html
Pas besoin de changer quoi que ce soit. Assurez-vous de tester dans Android 8.
ACTION_BOOT_COMPLETED
est activé la liste blanche de diffusion implicite , et vous pouvez donc vous y inscrire dans le manifeste.