PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Arrêts intempestifs en Android 8 en particulier
Arrêts intempestifs en Android 8 en particulier
Started by Pucpood, Feb., 07 2024 8:59 AM - 12 replies
Registered member
328 messages
Posted on February, 07 2024 - 8:59 AM
Salut ! Au secours je craque (et mes clients aussi) !

Depuis que je suis passé en WM28, j'ai pu faire progresser mon appli pour qu'elle soit supportée jusqu'à Android 13. Super !
Sauf que tous mes utilisateurs sous Android 8 me remontent des plantages intempestifs très handicapants (au minimum plusieurs fois par heure). Et j'en ai beaucoup avec des Zebra TC57 sous Android 8 !

Alors ça ne plante pas si l'utilisateur ne se sert pas de l'appli. Les plantages ont toujours lieu lors du retour à une fenêtre mère.
Mais le contexte est à chaque fois différent : parfois il y a des paramètres passés parfois pas, parfois il y a du code dans l'evt de fermeture d'une fenêtre fille, parfois pas, parfois on est passé par l'affichage d'un PDF (lance appli), parfois pas, à certains endroits c'est systématique à d'autres non...

Ce qui est régulier c'est le détail de l'erreur : Attempt to invoke virtual method 'boolean android.view.View.isFocused()' on a null object reference. Je crois comprendre qu'il y a une tentative de manipuler un élément d'UI alors qu'il n'est plus ou pas encore accessible.

J'ai déjà eu ce genre d'erreur que j'avais résolu avec une DemandeMiseAJourUI dans le code de "fermeture d'une fenêtre fille", mais là, ça n'apporte rien. Le problème à l'air de se situer dans les enchaînements de fenêtres. A bien y réfléchir, c'est peut-être le cas suivant qui pose problème :
fenêtre mère -> ouverture d'une fenêtre fille ->ouverture d'une fenêtre petite fille -> fermeture petite fille ->fermeture fille

Enfin, il y a 1 cas que j'ai réussi à régler : il y avait dans la fille une liste basée sur une requête intégrée. A la fermeture de la fille la mère plantait comme ça. J'ai créé une nouvelle requête intégrée, IDENTIQUE, et supprimé l'ancienne : miracle, plus de problème.
Registered member
493 messages
Popularité : +24 (30 votes)
Posted on February, 07 2024 - 9:18 AM
salut, sur les Zebras, a chaque prise de focus, pour utiliser le lecteur CB, il y a la procedure "ZebraDWFacileDemarrer" qui est exécutée, regarde de ce coté.


--
José
Message modified, February, 07 2024 - 9:20 AM
Registered member
328 messages
Posted on February, 07 2024 - 9:21 AM
Jopab a écrit :
> salut, sur les Zebras, a chaque prise de focus, pour utiliser le lecteur CB, il y a la procedure "ZebraDWFacileDemarrer" qui est exécutée, regarde de ce coté.

Je ne connaissais pas ça, merci de l'info, mais j'ai les mêmes problèmes sur mon Samsung A5.
Registered member
493 messages
Popularité : +24 (30 votes)
Posted on February, 07 2024 - 9:50 AM
avec la meme appli?

--
José
Registered member
328 messages
Posted on February, 07 2024 - 10:39 AM
Don mon cas, il n'est question que d'une appli, assez énorme et tentaculaire d'ailleurs. Le point commun n'est pas Zebra, mais semble, je dis bien semble, être Android 8, compilé en WM28.
Registered member
493 messages
Popularité : +24 (30 votes)
Posted on February, 07 2024 - 10:49 AM
je demande parce que j'ai un peu galéré avec une appli qui devait tourner sur des smartphones et des zebras, du coup, tu peux pas lancer les procedures zebras sur le smartphone, sinon ca plante, wm28 est moins souple que 27, j'ai eu aussi des problemes dans le genre, mais je suis pas descendu en dessous de android 9. maintenant, je fais le distingo entre les appareils en utilisant le nom du construbteur pour ne pas lancer les procedures zebra sur du non zebra.

--
José
Registered member
493 messages
Popularité : +24 (30 votes)
Posted on February, 07 2024 - 10:50 AM
si j'ai bien compris ton message au dessus, seuls les zebras sont sur android 8, donc, le probleme est peut etre lié

--
José
Registered member
328 messages
Posted on February, 07 2024 - 11:08 AM
Jopab a écrit :
> si j'ai bien compris ton message au dessus, seuls les zebras sont sur android 8, donc, le probleme est peut etre lié

Je n'ai peut-être pas été clair : les Zebra c'était juste un exemple, parce qu'il y en a beaucoup dans mon parc client. Mais ils ne sont pas les seuls concernés : je peux reproduire le problème avec tous les Android 8 que j'ai eu entre les mains, y compris mon Samsung A5 perso ou des CAT ou des Crosscall. Je suis pas sûr à 100% que la combinaison Android 8/WM28 soit le point commun de mon problème, mais quasiment. De plus, aucun traitement "pur Zebra" n'est utilisé dans cette appli.
Registered member
493 messages
Popularité : +24 (30 votes)
Posted on February, 07 2024 - 11:32 AM
ok, ma reponse etait basée sur mon experience ( et mes problemes) avec les Zebras.
du coup, j'ai pas mieux pour t'aider, dsl

--
José
Registered member
102 messages
Popularité : +1 (1 vote)
Posted on February, 07 2024 - 5:52 PM
Bonjour,

j'ai eu un souci un peu similaire avec des Zebras MC33X (ils sont en Android 10), Avec Windev Mobile 28.
J'ai des boutons associés à la touche Valide qui ferme la fenêtre, les MC33X ayant un clavier physique,la touche valide est équivalente à la touche Entrée.
Lorsque les utilisateurs clique sur le bouton RAS, par contre lorsqu'ils appuient sur la touche Entrée ,le code du bouton est exécuté 2 fois.
la première fois ,exécution du code et fermeture de la fenêtre et la deuxième fois provoquait la même erreur que toi étant donné que la fenêtre n'existait plus.

peut être que cela pourra te donner une piste pour ton problème.
Registered member
328 messages
Posted on February, 08 2024 - 8:26 AM
Bonjour,
Merci pour vos réactions à mon post, mais je rappelle que c'est un problème qui ne concerne pas les Android 10 et + et qu'il n'est pas du tout dépendant de la marque de l'appareil. Tous les appareils en Android 8 posent le problème.

Je reviens à une fenêtre mère (avec la touche retour standard de Android) et, selon le parcours que j'ai fait depuis qu'elle était en arrière plan ça plante ou ça ne plante pas. Que se passe-t-il pendant ce temps là ? Réponse : dans certains cas il y a une requête au sein de la fenêtre fille, dans d'autres cas la fenêtre fille affiche un PDF via LanceAppli, dans un autre cas la fille affiche une table Fichier, ...

J'ai l'impression qu'il y a souvent une requête dans les parages quand ça plante alors j'ai bien vérifié la présence de HLibèreRequête ou HAnnuleDéclaration sur mes sources de données, j'ai vérifié les requêtes de mes tables fichier, rien n'y fait. Et, encore une fois, en Android 10 et + il n'y a pas de problème.

J'ai aussi vérifié les codes de fermeture des filles et le code de fermeture d'une fenêtre fille des mères pour vérifier que je ne manipulais pas l'UI à tort. Rien trouvé non plus à ce niveau.

Je rappelle l'erreur : Attempt to invoke virtual method 'boolean android.view.View.isFocused()' on a null object reference
Registered member
120 messages
Posted on February, 08 2024 - 8:42 AM
Bonjour,

Il y a un sujet qui parle de cette erreur. Peut-etre que ça pourra t'aider :

https://forum.pcsoft.fr/en-US/pcsoft.fr.windevmobile/45009-fermeture-application-apres-prise-ajout-photo-45011/read.awp

Cordialement,
Fabrice
Registered member
328 messages
Posted on February, 19 2024 - 8:38 AM
Salut !
Je viens signaler que j'abandonne ce sujet pour cause que ma hiérarchie considère Android 8 comme trop ancien.
Un peu frustrant quand-même ...