我正在使用 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
,但没有询问,也没有授予。我已经搜索了互联网,没有找到任何解决方案。我希望有人能帮帮忙。