无法将图像保存到 public 目录 [Kotlin]

Having trouble saving images to a public directory [Kotlin]

所以我希望标题有意义,但这里有更多上下文。

我想制作自己的相机应用程序,我正在关注这个 Google Practice 的 cameraX。我已经让相机在我的身体上工作 phone 但问题是我无法查看我拍摄的图像。奇怪的是图片第二天出现在图库中,而不是在拍照后立即出现。

现在我不太确定为什么会这样,但在研究后似乎文件没有保存在 public 目录中,至少这是我屈服的结论。这是应用程序保存到的目录:/storage/emulated/0/Android/media/com.astro.openingcamera/openingCamera.

这是生成目录的代码块

    private fun getOutputDirectory(): File {
    val mediaDir = externalMediaDirs.firstOrNull()?.let {
        File(it, resources.getString(R.string.app_name)).apply { mkdirs() } }
    return if (mediaDir != null && mediaDir.exists())
        mediaDir else filesDir
}

那么有没有办法修改这个块,让我可以在拍照后立即查看图像?请记住,图片不会在拍照后立即出现在图库中。

其他人已经指出这个documentation但我不太明白

提前致谢

我找到了 blackapps 建议的解决方案我使用 mediascanner 更新目录所以这是我的代码

 MediaScannerConnection.scanFile(this ,
            arrayOf(outputDirectory.toString()),null,
    null)