French SDK 34 MissingForegroundServiceTypeException

Serge92

New Member
Bonjour,
J'ai une application qui fonctionne en permanence et me génère une notification sur diverses surveillances (Mode vibration, GPS activé, tâches horaires à exécuter…). Cette application fonctionne avec le SDK 33 mais sort en erreur avec le SDK 34 "java.lang.RuntimeException: android.app.MissingForegroundServiceTypeException".
A priori, il faut faire évoluer le manifeste mais je ne comprends pas comment.
Ci-joint, un exemple simplifié de mon problème (génère uniquement un log toutes les 15 s même en veille). Est-ce que quelqu'un pourrait m'aider ?
Merci.
 

Attachments

  • Service A34.zip
    509.4 KB · Views: 45

Erel

B4X founder
Staff member
Licensed User
Longtime User
 

Serge92

New Member
Merci pour la réponse.
J'avais déjà parcouru la littérature proposée avant mon post, mais je ne comprends pas comment modifier le Manifeste de mon application qui est toujours en arrière-plan 24h/24 et qui se réveille toutes les 10 minutes.
Est-ce que quelqu'un pourrait m'aider à faire fonctionner le "Service A34" ci-joint ?
Je vous en remercie.
 

Attachments

  • Service A34.zip
    509.2 KB · Views: 50

jahswant

Well-Known Member
Licensed User
Longtime User
AddPermission(android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK)
SetServiceAttribute(MyMusicService, android:foregroundServiceType, "mediaPlayback")
Lisez le document en entier. Vous allez comprendre.
 

Serge92

New Member
Merci Jahswant,

Avec la solution, j'ai compris le texte que je traduis par "pour les applications non Google Play, il suffit uniquement de mettre quelque chose de cohérent même si ce n'est pas utilisé dans l'application".

Mais a priori, cela ne semble pas suffisant car j'ai une autre application qui enregistre et trace des positions reçues par le GPS (librairie GNSS maintenant). Après un rapide essai (avec le service mediaPlayback), cette application se lance et fonctionne, par contre, en arrière-plan les positions ne sont plus mémorisées (et enregistrées) pour être tracées lors du retour à l'avant plan.

Ne faut-il pas dans ce cas mettre quelque chose de plus pertinent dans le manifeste ?

Merci encore pour votre aide qui a débloqué la situation.
 

Serge92

New Member
Dans le manifeste avec le SDK 33, j'avais déjà SetServiceAttribute(Sce_deniv, android:foregroundServiceType, "location") pour le fonctionnement en arrière-plan
J'ai ajouté AddPermission(android.permission.FOREGROUND_SERVICE_LOCATION) et, a priori, tout fonctionne.
Merci.
 
Top