use*_*364 5 directory android download realpath
使用 Intent.ACTION_OPEN_DOCUMENT_TREE 我得到这个 uri :
content://com.android.providers.downloads.documents/tree/downloads
Run Code Online (Sandbox Code Playgroud)
如何将其转换为/storage/emulated/0/Download- 真实路径?我不想使用
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
因为已弃用。
编辑:我需要用于下载的公共位置的真实路径,因为在 android Q 上,这是应该存储公共文档的文件夹。
小智 -1
根据文档,使用 DCIM/... 作为 RELATIVE_PATH,其中 ... 是您的自定义子目录。所以,你最终会得到这样的结果:
val resolver = context.contentResolver
val contentValues = ContentValues().apply {
put(MediaStore.MediaColumns.DISPLAY_NAME, "CuteKitten001")
put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg")
put(MediaStore.MediaColumns.RELATIVE_PATH, "DCIM/PerracoLabs")
}
val uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues)
resolver.openOutputStream(uri).use {
// TODO something with the stream
}
Run Code Online (Sandbox Code Playgroud)
请注意,由于 RELATIVE_PATH 是 API 级别 29 中的新增内容,因此您需要在较新的设备上使用此方法,并在较旧的设备上使用 getExternalStoragePublicDirectory() 。
| 归档时间: |
|
| 查看次数: |
3543 次 |
| 最近记录: |