Android 10 / Q / API 29 - 检查视频文件是否存在

Android 10 / Q / API 29 - check if video file exists

我正在使用此代码下载视频:

val request = DownloadManager.Request(Uri.parse(fileURL))
.setDestinationInExternalPublicDir(
    Environment.DIRECTORY_PICTURES,
    "/appName/example.mp4"
)

但需要知道文件是否已经存在。

我试过了:

    val file = File(Environment.DIRECTORY_PICTURES + "/appName/example.mp4")
    
    if (file.isFile) {
        Log.d(tagg, "exists")
    } else {
        Log.d(tagg, "nope")
    }

它说不行

val file = File(Environment.DIRECTORY_PICTURES + "/appName/example.mp4")

应该是:

val file = File(Environmet.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES )+ "/appName/example.mp4")

在 Android 10 设备上,您的应用无法访问该 public 目录,除非您在清单文件中请求旧版外部存储。

您可以在没有该许可的情况下检查是否存在。