diff --git a/app/src/main/java/com/stand/standapp/UpdateManager.kt b/app/src/main/java/com/stand/standapp/UpdateManager.kt index 29e0961..99a549f 100644 --- a/app/src/main/java/com/stand/standapp/UpdateManager.kt +++ b/app/src/main/java/com/stand/standapp/UpdateManager.kt @@ -34,11 +34,13 @@ class UpdateManager(private val context: Context) { private val fileName = "StandApp_Update.apk" /** - * 获取应用缓存目录下的临时文件 URI,避免申请外部存储权限 + * 获取应用外部专属下载目录下的文件 URI,避免申请外部存储权限的同时确保安装包能被系统安装器读取 */ private fun getCacheFileUri(): Uri { - val cacheDir = context.externalCacheDir ?: context.cacheDir - val file = File(cacheDir, fileName) + val dir = context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + ?: context.externalCacheDir + ?: context.cacheDir + val file = File(dir, fileName) if (file.exists()) { file.delete() }