PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Aide sur SysMiseEnVeille
Aide sur SysMiseEnVeille
Débuté par Ian, 10 avr. 2017 14:16 - 10 réponses
Membre enregistré
106 messages
Popularité : +3 (3 votes)
Posté le 10 avril 2017 - 14:16
Bonjour à tous,

je viens vers vous concernant SysMiseEnVeille() . Vous me direz qu'il a déjà pas mal de topic mais aucun d eux ne solutionnent mon problème.

J'ai une appli mobile avec plusieurs fenêtres différentes, certaines ont plusieurs plan, des zones répétées, des interrupteurs ect ect

J'aimerai pouvoir interdire la mise en veille automatique lors de l'utilisation de l'appli. Mon problème c'est que SysMiseEnVeille() ne fontionne pas comme j'aurai voulu.

1) j'ai mit SysMiseEnVeille(sysBatterie,sysVeilleInactive) et SysMiseEnVeille(sysSecteur,sysVeilleInactive) dans la fin d'init de ma 1ere fenêtre et j'ai quand même le téléphone qui passe en veille sur d'autre fenêtre.
SI PAS EnModeSimulateur() ALORS
SysMiseEnVeille(sysBatterie,sysVeilleInactive)
SysMiseEnVeille(sysSecteur,sysVeilleInactive)
FIN


2) j'ai mit SysMiseEnVeille(sysBatterie,sysVeilleInactive) et SysMiseEnVeille(sysSecteur,sysVeilleInactive) dans 2 variable globale au projet à la fin d'init de ma 1ere fenêtre et j'ai quand même le téléphone qui passe en veille sur une ou plusieurs fenêtres.
SI PAS EnModeSimulateur() ALORS
MiseEnVeille_Batterie = SysMiseEnVeille(sysBatterie,sysVeilleInactive)
MiseEnVeille_Secteur = SysMiseEnVeille(sysSecteur,sysVeilleInactive)
FIN


3) j'ai mit SysMiseEnVeille(sysBatterie,sysVeilleInactive) et SysMiseEnVeille(sysSecteur,sysVeilleInactive) à l'init du projet et le téléphone se met en veuille sur n'importe quelle fenêtre

4) j'ai également créé une procédure globale que j'appelle à l' init de mes fenêtres et le téléphone passe quand même en veille


Pouvez-vous me dire comment je dois procédé pour que le téléphone ne passe pas du tout veille tant que l'appli est en cours d'utilisation ?

Merci d'avance

--
- ian -
Posté le 10 avril 2017 - 14:27
Bonjour Ian,

Il semblerait que la seule chose que tu n'as pas faite est de mettre tes
instructions dans l'init de CHAQUE fenêtre...

Pourquoi pas ?

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 4/10/2017 à 6:16 AM, Ian a écrit :
Bonjour à tous,

je viens vers vous concernant SysMiseEnVeille() . Vous me direz qu'il a
déjà pas mal de topic mais aucun d eux ne solutionnent mon problème.

J'ai une appli mobile avec plusieurs fenêtres différentes, certaines ont
plusieurs plan, des zones répétées, des interrupteurs ect ect

J'aimerai pouvoir interdire la mise en veille automatique lors de
l'utilisation de l'appli. Mon problème c'est que SysMiseEnVeille() ne
fontionne pas comme j'aurai voulu.

1) j'ai mit SysMiseEnVeille(sysBatterie,sysVeilleInactive) et
SysMiseEnVeille(sysSecteur,sysVeilleInactive) dans la fin d'init de ma
1ere fenêtre et j'ai quand même le téléphone qui passe en veille sur
d'autre fenêtre.
SI PAS EnModeSimulateur() ALORS
SysMiseEnVeille(sysBatterie,sysVeilleInactive)
SysMiseEnVeille(sysSecteur,sysVeilleInactive)
FIN


2) j'ai mit SysMiseEnVeille(sysBatterie,sysVeilleInactive) et
SysMiseEnVeille(sysSecteur,sysVeilleInactive) dans 2 variable globale au
projet à la fin d'init de ma 1ere fenêtre et j'ai quand même le
téléphone qui passe en veille sur une ou plusieurs fenêtres.
SI PAS EnModeSimulateur() ALORS
MiseEnVeille_Batterie = SysMiseEnVeille(sysBatterie,sysVeilleInactive)
MiseEnVeille_Secteur = SysMiseEnVeille(sysSecteur,sysVeilleInactive)
FIN


3) j'ai mit SysMiseEnVeille(sysBatterie,sysVeilleInactive) et
SysMiseEnVeille(sysSecteur,sysVeilleInactive) à l'init du projet et le
téléphone se met en veuille sur n'importe quelle fenêtre

4) j'ai également créé une procédure globale que j'appelle à l' init de
mes fenêtres et le téléphone passe quand même en veille


Pouvez-vous me dire comment je dois procédé pour que le téléphone ne
passe pas du tout veille tant que l'appli est en cours d'utilisation ?

Merci d'avance

--
- ian -
Membre enregistré
474 messages
Popularité : +17 (19 votes)
Posté le 10 avril 2017 - 14:31
Bonjour,

Je gère le blocage de la mise en veille dans les paramètres des appli.
En déclarations globales de la fenêtre principal, je lis la valeur du paramètre et

SI parametre.desactive_veille = Vrai ALORS
SysMiseEnVeille(sysBatterie, sysVeilleInactive)
FIN


J'ai remarqué que cela ne fonctionnait pas sur tous les mobiles. C'est peut être ça ton pb ?

--
Jean-Michel
Membre enregistré
106 messages
Popularité : +3 (3 votes)
Posté le 10 avril 2017 - 14:51
Fabrice Harari a écrit :
Bonjour Ian,

Il semblerait que la seule chose que tu n'as pas faite est de mettre tes
instructions dans l'init de CHAQUE fenêtre...

Pourquoi pas ?


Bonjour Fabrice, si je l'ai fait ( cf. 4) mais dans une procédure globale me disant que ça m'évitera des lignes dans toutes fenêtres. J'ai pas essayé les instructions hors procédure dans chaque fenêtre.

Jean-Michel a écrit :
Bonjour,

Je gère le blocage de la mise en veille dans les paramètres des appli.
En déclarations globales de la fenêtre principal, je lis la valeur du paramètre et
SI parametre.desactive_veille = Vrai ALORS
SysMiseEnVeille(sysBatterie, sysVeilleInactive)
FIN


Tu fais ça QUE sur ta fenêtre principale ? et un booléen déclaré en globale ne suffit pas ? du genre :
SI monbooleen = Vrai ALORS
SysMiseEnVeille(sysBatterie, sysVeilleInactive)
FIN


Jean-Michel a écrit :
>J'ai remarqué que cela ne fonctionnait pas sur tous les mobiles. C'est peut être ça ton pb ?

J'ai l'impression aussi. Je fais mes tests sur S7 et mon collègue a testé sur un wiko et dans tous mes cas précédemment cités, le wiko est toujours passé en veille alors que sur mon S7,c'est arrivé uniquement sur quelques fenêtres (biensur pas toujours les même sinon c est pas drôle..)

--
- ian -
Membre enregistré
474 messages
Popularité : +17 (19 votes)
Posté le 10 avril 2017 - 15:13
Ian,

C'est un paramètre utilisateur, c'est pour cela que je passe par un fichier.
Dans mon cas, seule la fenêtre principale ne doit pas se mettre en veille.
J'ai fait des tests et ça fonctionne sur S5, S6 et S7.

--
Jean-Michel
Membre enregistré
106 messages
Popularité : +3 (3 votes)
Posté le 10 avril 2017 - 15:26
Jean-Michel C a écrit :
Ian,

C'est un paramètre utilisateur, c'est pour cela que je passe par un fichier.
Dans mon cas, seule la fenêtre principale ne doit pas se mettre en veille.
J'ai fait des tests et ça fonctionne sur S5, S6 et S7.

--
Jean-Michel


Sur la fenêtre principale de mon apk, l'utilisateur doit se loguer. Une fois qu'il se log, je fais comme toi
SI parametre.codeparametre = 1 ALORS
SysMiseEnVeille(sysBatterie, sysVeilleInactive)
SysMiseEnVeille(sysSecteur,sysVeilleInactive)
FIN


Ma 2e fenêtre est la page d’accueil utilisateur. Le téléphone ne passe pas en veille. Je teste sur les autres fenêtres et j'en ai qq unes qui permettent la mise en veille et je vois pas pourquoi..

--
- ian -
Posté le 10 avril 2017 - 15:29
Comme je le disais, tu n'as pas essayé de mettre les instructions dans
le code d'init de chaque fenêtre... Si tu ne vois pas la différence
entre ça et une procédure globale...

Le 4/10/2017 à 6:51 AM, Ian a écrit :
Fabrice Harari a écrit :
Bonjour Ian,

Il semblerait que la seule chose que tu n'as pas faite est de mettre tes
instructions dans l'init de CHAQUE fenêtre...

Pourquoi pas ?

Bonjour Fabrice, si je l'ai fait ( cf. 4) mais dans une procédure
globale me disant que ça m'évitera des lignes dans toutes fenêtres. J'ai
pas essayé les instructions hors procédure dans chaque fenêtre.
Jean-Michel a écrit :
Bonjour,

Je gère le blocage de la mise en veille dans les paramètres des appli.
En déclarations globales de la fenêtre principal, je lis la valeur du
paramètre et
SI parametre.desactive_veille = Vrai ALORS
SysMiseEnVeille(sysBatterie, sysVeilleInactive)
FIN


Tu fais ça QUE sur ta fenêtre principale ? et un booléen déclaré en
globale ne suffit pas ? du genre :
SI monbooleen = vrai ALORS
SysMiseEnVeille(sysBatterie, sysVeilleInactive)
FIN


Jean-Michel a écrit :
J'ai remarqué que cela ne fonctionnait pas sur tous les mobiles. C'est
peut être ça ton pb ?

J'ai l'impression aussi. Je fais mes tests sur S7 et mon collègue a
testé sur un wiko et dans tous mes cas précédemment cités, le wiko est
toujours passé en veille alors que sur mon S7,c'est arrivé uniquement
sur quelques fenêtres (biensur pas toujours les même sinon c est pas
drôle..)

--
- ian -
Membre enregistré
106 messages
Popularité : +3 (3 votes)
Posté le 10 avril 2017 - 16:34
Fabrice Harari a écrit :
Comme je le disais, tu n'as pas essayé de mettre les instructions dans
le code d'init de chaque fenêtre... Si tu ne vois pas la différence
entre ça et une procédure globale...


je viens de tester en mettant le code dans l'init de 3 fenêtres et la veille est bien désactivée. Du coup, ta remarque interpelle Fabrice, parce que comme je disais, j'ai mit mon code dans une procédure globale que j’appelais dans l'init de mes fenêtres pour éviter de taper 5 lignes supplémentaires dans chaque fenêtre et ça ne fonctionnait pas.
Mais bon, ça à l air de fonctionner dans les 2 cas maintenant.

Merci pour vos réponses en tout cas,

bonne fin de journée

--
- ian -
Membre enregistré
3 messages
Posté le 27 juin 2019 - 13:08
Bonjour,
Je remets ce sujet d'actualité...car impossible de trouver une solution...et je suis un débutant.

J'ai posé dans l'init de la fenêtre et sur un bouton : afin de désactiver la mise en veille pendant l'utilisation de l'appli

SysMiseEnVeille(sysBatterie,sysVeilleInactive)
SysMiseEnVeille(sysSecteur,sysVeilleInactive)

Sur batterie : impec ! ras
Sur secteur : pas pris en compte

Quelqu'un à une idée ?
Merci
Posté le 27 juin 2019 - 16:08
Bonjour,
Mettre ce code dans le "code du projet" et non "L'init de la fenêtre"
SI PAS EnModeSimulateur() ALORS
SysMiseEnVeille(sysBatterie,sysVeilleInactive)
SysMiseEnVeille(sysSecteur,sysVeilleInactive)
FIN
Membre enregistré
3 messages
Posté le 27 juin 2019 - 16:24
Merci pour la rapidité de la réponse, je vais tester,
Mais j'ai l'impression qu'entre la mise à jour de WM24 et celle d'android (9) tout fonctionne