我正在从我的服务器下载文件。由于**Environment.getExternalStorageDirectory()**已弃用 * 为了提高用户隐私,直接访问共享/外部存储设备 * 我正在使用getExternalFilesDir将视频文件保存到应用文件夹(Android/data/com.myapp/Videos)。
我需要的是这个文件夹(视频)将在画廊中可见,或者文件将可见,无论哪种方式。但我的代码似乎不起作用:
val mainPath = requireActivity().getExternalFilesDir(null)!!.path + "/"
val path = "$mainPath/Videos/clip1.mp4"
val values = ContentValues(3)
values.put(MediaStore.Video.Media.TITLE, "My video title")
values.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4")
values.put(MediaStore.Video.Media.RELATIVE_PATH, path)
requireActivity().contentResolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values)
3条答案
按热度按时间5vf7fwbs1#
尝试以下代码并将保存的文件位置传递到此处。这将适用于图像和视频文件。它可以很好地用于视频,但对于图像,请尝试'Environment.DIRECTORY_DCIM'或'Environment.DIRECTORY_PICTURES'
MediaScanner类到scanFile
uz75evzq2#
下面是另一个适用于媒体文件的答案。这将显示您下载的文件到画廊。
omvjsjqw3#
getExternalFilesDir()中的文件不会被媒体存储扫描。
因此不会通过Gallery应用程序显示。