2017-05-16 1 views
0

J'ai une petite question, j'écris une application dans laquelle je veux mettre en œuvre certaines méthodes pour télécharger et installer des mises à jour pour l'application.Télécharger et installer la mise à jour par programme avec install4j api

La vérification des mises à jour ne pose aucun problème et fonctionne correctement. Mais, j'ai des problèmes pour implémenter les méthodes de téléchargement et d'installation. J'ai trouvé quelques classes dans l'API mais "c'est dur de travailler avec".

Le téléchargement fonctionne bien, mais sans progrès. Je ne veux pas utiliser "vérifier les mises à jour" -action au démarrage.

Ceci est mon code de test en cours pour le téléchargement de la mise à jour:

public static void downloadInstaller(UpdateDescriptorEntry descriptor) 
{ 
    Downloader downloader = new Downloader(0, null); // Don't know what to use instead of 0 
    try 
    { 
     downloader = downloader.connect(descriptor.getURL().toString()); 

     File outputFile = new File(ApplicationSettings.getCachesDirectoryWithIdentifier() + File.separator + descriptor.getFileName()); 

     downloader.download(outputFile, 
          descriptor.getFileSize(), 
          false); 

     if (descriptor.getFileSize() == outputFile.length()) // Check if download complete 
     { 
      logger.info("Successful"); 
     } 
     else 
     { 
      logger.error("Error in download"); 
     } 
    } 
    catch (IOException | UserCanceledException e) 
    { 
     logger.error(e); 
    } 
} 

Maintenant, j'ai deux questions.

1) Est-il possible de faire progresser le téléchargement? Il existe une interface ProgressInterface mais je ne sais pas comment l'implémenter correctement.

2.) Comment puis-je exécuter le programme d'installation de l'application téléchargée par programme (peut-être aussi en mode sans surveillance)?

Merci pour aider

Répondre

1

Downloader est une classe interne dans l'exécution et ne fait pas partie de l'API documentée.

Vous devez ajouter une application de mise à jour dans l'étape "Installer-> Screens & Actions" et l'appeler par programmation. L'assistant d'intégration de l'onglet "Intégration du programme de lancement" comporte un assistant d'intégration qui vous fournira l'extrait de code pour démarrer le programme de mise à jour.

+0

Merci pour l'indice. Je vais y regarder. –

+0

Fonctionne bien, merci –