PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → TâcheEnArrièrePlanAjoute ne fonctionne pas comme prévu
TâcheEnArrièrePlanAjoute ne fonctionne pas comme prévu
Débuté par Dario D'Urzo, 15 déc. 2017 13:59 - 3 réponses
Posté le 15 décembre 2017 - 13:59
Bonjour à tous, j'ai essayé d'utiliser la nouvelle fonction TâcheEnArrièrePlanAjoute mais j'ai trouvé les problèmes suivants:

1. Test sur Android 5.0.2. La tâche d'arrière-plan démarre et fonctionne même après un redémarrage du téléphone, mais id ne respecte pas le timing. J'ai mis en place un run toutes les 15 minutes mais il s'exécute toutes les 1-2 minutes et seulement pour un certain nombre d'itérations (après 6-7 exécution ne s'exécute plus)
2. Test sur IOS11. Ça ne marche pas du tout. Il ne démarre ni ne s'exécute.
Le code que j'ai utilisé est le suivant:

TâcheEnArrièrePlanAjoute(BackgroundProcedure, 15)

and the procedure is:

PROCÉDURE BackgroundProcedure()
n is a Notification
n..Message = "Data della notifica : " + DateToString(Today()) + " " + TimeToString(Now())
<COMPILE SI TypeConfiguration=Android>
n..Titre = "Notifica App"
n..Format.Type = notifFormatImage
n..Format..Contenu = "error.png"
<FIN>

NotifAjoute(n)
Membre enregistré
29 messages
Posté le 01 octobre 2023 - 13:14
Bonjour a tous,


J'utilise TâcheEnArrièrePlanAjoute(GereBackGrnd,15) dans mon project WM27. GereBackGrnd est une procedure globale qui fait un check WebService pour afficher ou pas une notification.

Sous Android aucun souci tous fonctionne mais sous iOS des que l'app est en veille ou fermé la procedure en arriere plan ne s'execute pas.
J'ai bien coché Background fetch dans Xcode mais rien . Seulement si l'app est ouverte la notification s'affiche

Quelqu'un a une solution ? merci pour votre aide

Nac
Membre enregistré
795 messages
Popularité : +40 (42 votes)
Posté le 01 octobre 2023 - 15:01
Bonjour. D'après l'aide WM dans IOS "Spécificités iOS
Durée d'exécution :
Les tâches en arrière-plan ont un total de 30 secondes pour s'exécuter. Si ce délai est dépassé, l'application est arrêtée directement (ce délai peut être réduit selon la disponibilité du système). L'exécution de la tâche doit donc être le plus rapide possible.
En pratique, le système utilise le temps d'exécution de la tâche pour déterminer la fréquence réelle à laquelle elle doit être appelée."

Elle est beaucoup plus limitée que sur Android et il se peut que certaines choses ne fonctionnent pas.

Rubén
Membre enregistré
29 messages
Posté le 02 octobre 2023 - 10:47
Bonjour

Merci pour votre réponse, oui j'avais lu cette limitation de 30 secondes mais ma procedure ne prend que quelques secondes. d'ailleurs je teste si j'ai une connexion internet sinon je sors directement pour éviter que le programme s'arrete.

Il y a t il autre chose a prendre en compte ?

Nac