PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → Comportement Installation APK depuis Android 10 versus versions antérieures
Comportement Installation APK depuis Android 10 versus versions antérieures
Débuté par MDE, 17 mar. 2021 15:40 - 5 réponses
Membre enregistré
4 messages
Posté le 17 mars 2021 - 15:40
Je travaillais sous WinDev Mobile 22. Lorsque les conditions sont remplies (dépendance avec la version d'une application utilisée sous Windows), il est prévu dans le code de charger et d'installer la dernière version de l'application disponible.

Le chargement s'effectue correctement, mais l'installation doit s'effectuer manuellement pour les tablettes et smartphones sous Android 10.

Nous avons migré voici quelques mois sous WinDev Mobile 25, en update 4 (version du 28/10/2020).
Les permissions suivantes sont intégrées lors de la génération de l'exécutable:
android.permission.INSTALL_PACKAGES
android.permission.REQUEST_INSTALL_PACKAGES
Le SDK paramétré pour compiler l'application est mis au plus récent

Le code d'installation ressemble à ceci, après connexion au serveur FTP et avec P_CheminBase = chemin de l'application interne :

SI PAS gnIdConnexion=-1 ALORS
FTPRepEnCours(gnIdConnexion,"/RepAppli")
SI FTPRécupère(gnIdConnexion,"/RepAppli/NomAppli.apk",P_CheminBase,ProgressionDL,ftpModeBinaire) ALORS
Multitâche(-50)
LanceAppliAssociée(P_CheminBase+"NomAppli.apk")
FinProgramme()
SINON
Info("Erreur lors du transfert des fichiers APK : "+ErreurInfo())
FIN
FTPDéconnecte(gnIdConnexion)
SINON
Erreur("Transfert de l'apk impossible","Impossible de se connecter au serveur FTP")
FIN

J'effectue mes tests sur un smartphone Android 10 et une tablette Android 7.

A partir d'une application ainsi générée, l'installation s'effectue maintenant correctement automatiquement après invitation du système sur le smartphone Android 10.

Dans les paramètres de la tablette, l'autorisation d'installer des applications ne provenant pas du Play Store est bien activée.
Sur la tablette Android 7, le chargement s'effectue bien, mais plus l'installation.
Je dois aller trouver l'APK dans mes fichiers et en demander l'installation manuellement.
Bref, le problème est inversé.

Quelqu'un aurait-il une idée ?
Membre enregistré
3 335 messages
Popularité : +93 (137 votes)
Posté le 18 mars 2021 - 06:52
A quoi correspond P_CheminBase?
Car sur Android 7 il faut que l'apk soit dans un dossier public (constantes ssePublicxxxx)
Alors sur Android 10 non

Pour connaître la version Android de l'appareil
SI Val(SysVersionAndroid(sysVersionApiLevel))
La LST n°85 : Android AppBox contient un code java d'installation de l'apk valide sur Android 7.
Membre enregistré
3 335 messages
Popularité : +93 (137 votes)
Posté le 18 mars 2021 - 06:59
Pour info, j'avais bien lu P_CheminBase = chemin de l'application interne.
Mais j'aurais aimé le code de récupération du chemin
Car moi c'est sur Android 10 que je n'y arrive pas.
Posté le 18 mars 2021 - 10:54
Bonjour Poppy,

//Chemin du répertoire de base de l'application
P_CheminBase est une chaîne = SysRepCarteStockage() + fSep() + ....

La fonction Cette SysRepCarteStockage() retourne le chemin de la SDCard interne de l'appareil.
Membre enregistré
4 messages
Posté le 07 avril 2021 - 16:58
Si pas d'idée de solution, il faudra voir avec la fonctionnalité de store privé sur Windev Mobile 26 :
https://doc.pcsoft.fr/fr-FR/?1410086652

Mais pour ma part, ce n'est pas pour tout de suite....
Membre enregistré
4 messages
Posté le 28 septembre 2021 - 15:39
Je le signale pour ceux qui seraient confrontés au même problème, j'ai finalement pu implémenter une solution qui fonctionne.
Elle est proposée sous forme d'exemple (WM_AutoUpdate) dans le LST 121 (2ème trimestre 2020) : Brancher un automatic update en mobile (Android / IOS)