我有一个小问题,我正在编写一个应用程序,我想在其中实现一些方法来下载和安装该应用程序的更新。
检查更新没有问题,并且可以正常工作。但是,我在实现下载和安装方法方面遇到问题。我在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集成”选项卡上的集成向导具有一个集成向导,该向导将为您提供用于启动更新程序的代码段。