【发布时间】:2021-04-27 23:20:59
【问题描述】:
所以我希望标题有意义,但这里有更多上下文。
我想制作自己的相机应用程序,我正在关注 Google Practice 的 cameraX。我已经让相机在我的实体手机上工作,但问题是我无法查看我拍摄的图像。奇怪的是图像会在第二天出现在画廊中,而不是在拍照后立即出现。
现在我不太清楚为什么会这样,但经过研究,似乎该文件没有保存在公共目录中,至少这是我屈服的结论。这是应用保存到的目录:/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,但我不太明白
提前致谢
【问题讨论】:
-
在使用过的设备上运行哪个 Android 版本?此外,您应该为您的新文件启动 mediascanner。然后它会被编入索引,您会立即在图库中看到它。
-
我认为我使用的是 API 29 或 30。我还没有听说过媒体扫描仪,所以我很想研究一下
标签: android kotlin androidx android-camerax