【发布时间】:2021-04-03 21:21:12
【问题描述】:
我正在制作一个相机应用程序,它同时拍摄前置摄像头和后置摄像头图像/视频,我不希望每个文件的相机预览中都有单独的缩略图。
我想使用“文件”应用打开“/storage/emulated/0/DCIM/Camera”文件夹,并进一步打开 ACTION_GET_CONTENT 无法使用的照片/视频,因为它选择图像并退出“文件”应用,如此处尝试-
val intent = Intent(Intent.ACTION_GET_CONTENT)
val uri: Uri = Uri.parse(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).path.toString() + "/Camera")
intent.setDataAndType(uri, "*/*")
startActivity(Intent.createChooser(intent, "Open folder"))
我也尝试过 ACTION_VIEW,但它并不特定于一个文件夹,并会打开显示所有媒体的库 -
val intent = Intent()
intent.action = Intent.ACTION_VIEW
intent.type = "image/*"
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(intent)
“image/*”在画廊中也显示图像和视频,这对我来说很好。当使用“*/*”时,我们也可以使用“文件”应用程序,但它会打开下载文件夹。 我发现的一种解决方案仅适用于此处尝试的 ES Explorer -
val uri: Uri = Uri.parse(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).path.toString() + "/Camera")
val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(uri, "resource/folder")
startActivity(intent)
这是由于不支持“资源/文件夹”导致崩溃。将“资源/文件夹”更改为“*/*”会使“文件”应用打开下载文件夹,而“照片”应用会挂起。
似乎画廊可以通过buckets 做到这一点,但它也不是通用的。
我的要求不高,只是显示我的相机文件夹,我可以从中打开和查看任何照片/视频。
【问题讨论】:
-
我愿意在这个问题上加分,但找不到选项。
-
我们等到您找到选项并且我们知道赏金;-)。
-
我发现我可以在 2 天后添加赏金,但最低声望是 50。stackoverflow.com/help/bounty。我想我需要花更多的时间在这里!
-
是的,您可以在这里花一些时间阅读一些标记为“android”的 stackoverflow 页面,因为之前有人问过您想要什么。
-
但是.. 您可以让选择器在与用户之前选择文件的文件夹相同的文件夹中打开。如果您将获得的内容方案 uri 放在额外的下一个意图中,那么它就可以工作。谷歌搜索 INITIAL_URI。
标签: android file android-intent camera gallery