我正在使用Delphi 10.3.1 Rio。我做了一个自我更新的应用程序。该应用程序根据Android 9的要求使用HTTPS从站点下载APK。我已经在Delphi 10.2.3中使用了2年。这很好。我使用System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetSharedDownloadsPath, apnavn);
来获取下载路径。
我确实使用TIdHTTP
进行读取,而现在使用了新的TNetHTTPClient
,因为旧版本不支持Android 9所要求的HTTPS。我可以访问外部存储。我下载到TMemoryStream
,并保存到共享下载路径。然后,我执行Intent
来更新应用程序。
这在Android 6上可以正常工作,但不能在Android 9上保存文件。我试图请求对TJManifest_permission.JavaClass.REQUEST_INSTALL_PACKAGES
的许可,但这不是必需的,也不是被授予的。我搜索了互联网,但没有找到任何解决方案。我希望有人能提供帮助。