Mise à jour du déclencheur de l'application Android de Phonegap par programmation
Je fais construire une application Android qui est hébergé sur un serveur en dehors de Google Play. J'ai besoin de l'application pour vérifier la nouvelle version et demander à l'utilisateur de mettre à jour au démarrage de l'application.
J'ai construit un mécanisme pour vérifier la nouvelle version de l'application vérifie un fichier sur le serveur et compare la version) qui fonctionne bien. Puis-je demander à l'utilisateur de mettre à jour, mais si l'utilisateur choisit de procéder à la mise à jour, je ne suis pas en mesure de déclencher le téléchargement et l'installation de l'apk.
J'ai essayé simplement d'ouvrir l'apk url:
window.open(apkURL);
où la apkURL est la pleine lien http sur le .apk fichier hébergé sur le serveur.
Mais il ne semble pas faire quoi que ce soit.
J'ai fait des recherches mais je ne trouve pas de réponse sur la façon de le faire. J'ai trouvé quelques suggestions à l'aide du code natif, comme ce post Installer l'Application par programmation sur Android mais je ne sais pas comment faire à partir de l'intérieur de mon app Phonegap.
Intent promptInstall = new Intent(Intent.ACTION_VIEW)
.setData(Uri.parse("file:///path/to/your.apk"))
.setType("application/vnd.android.package-archive");
startActivity(promptInstall);
Est-ce la bonne façon de lancer la mise à jour? Comment peut quelque chose comme cela se fait à partir de l'intérieur d'une application Phonegap?
Merci!
source d'informationauteur Vero
Vous devez vous connecter pour publier un commentaire.
J'ai enfin réussi à le mettre en œuvre, à l'aide de la Fichier de l'api et de l' WebIntent plugin. Je vais poster la solution ici au cas où il permet à quiconque.
Le code télécharge l'apk à partir d'un serveur distant pour le téléchargement dans le dossier sdcard, puis déclenche l'installer.
Pour vous les gars qui utilisent Cordova 3+, une solution similaire comme celle de Vero est possible:
Donc, nous allons d'abord télécharger l' .fichier apk. Nous avons besoin de transfert de fichiers plugin pour cela.
Vous pouvez l'installer avec la commande suivante:
Deuxièmement, nous avons besoin d'un autre plugin pour démarrer une webintent. Cette webintent demande à l'utilisateur si il y a une mise à jour. Vous pouvez l'installer avec la commande suivante:
Ensuite, vous pouvez utiliser ces 2 fonctions dans votre code pour télécharger l' .apk et de demander à l'utilisateur si
il y a une mise à jour de l'application:
Malheureusement vous ne pouvez pas accéder à ce genre de fonctionnalité native au sein d'un Phonegap conteneur web sans l'aide d'un plugin, tout ce que vous pouvez faire est de lier l'utilisateur à l'apk (en ouvrant le navigateur natif par exemple) et de lui laisser l'installer.
merci Vero pour la réponse ... c'est m'aider...
il y a un problème avec votre code de cordoue fichier plugin dernière version.
remplacer l'entrée.fullPath à l'entrée.toURL() si vous utilisez le fichier de plugin, la version 1.0.0 ou plus récent.
si vous utilisez l'entrée.fullPath , c'jeter erreur "il y a un problème d'analyse package".
de transfert de fichier plugin sur github
Exemple de travail en 2018
Basé sur les précédents commentaires je mettre en œuvre cette solution
Il exige: