我有一个小问题,我正在编写一个应用程序,我想在其中实现一些方法来下载和安装该应用程序的更新。

检查更新没有问题,并且可以正常工作。但是,我在实现下载和安装方法方面遇到问题。我在API中找到了一些类,但是“很难使用”。

下载也可以,但是没有任何进展。我不想在启动时使用“检查更新”操作。

这是我当前用于下载更新的测试代码:

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);
    }
}


现在我有两个问题。

1)是否可以获得任何下载进度?有一个ProgressInterface接口,但我不知道如何正确实现它。

2.)如何以编程方式运行下载的应用程序的安装程序(可能也处于无人参与模式)?

感谢您的帮助

最佳答案

Downloader是运行时中的内部类,不是文档API的一部分。

您应该在“安装程序->屏幕和操作”步骤上添加更新程序应用程序,并以编程方式进行调用。 “ Launcher集成”选项卡上的集成向导具有一个集成向导,该向导将为您提供用于启动更新程序的代码段。

10-06 13:32
查看更多