Comment continuer le service d'arrière-plan dans Android Oreo sans afficher le point de notification? Je continue mon service d'arrière-plan en utilisant la notification mais je ne veux pas afficher de notification pour l'exécution du service.
Ce code a fonctionné pour moi. Vous vous assurez d'abord:
1- Définir le service dans le manifeste
2- Définir l'autorisation dans le manifeste
<uses-permission Android:name="Android.permission.FOREGROUND_SERVICE" />
3- Assurez-vous d'avoir déjà démarré le service.
Votre service devrait avoir une notification. Vous devez faire attention à ce que votre notification ait un ChannelID!
cette page peut vous aider:
Comment créer une mise en page de notification personnalisée dans Android?
Collez maintenant le code suivant dans votre service
@Override
public void onCreate() {
super.onCreate();
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForeground(" your Notification ID ", notification);
}
} catch (Exception e) {
Log.e(" Error --->> ", e.getMessage());
}
}
après cela, ajoutez ce code:
@Override
public ComponentName startForegroundService(Intent service) {
return super.startForegroundService(service);
}
et ça:
@Override
public void onDestroy() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
stopForeground(true);
}
}