Android Content开头的Uri和文件绝对路径互相转换
1.uri转绝对路径
fun getFilePathFromContentUri(selectedVideoUri: Uri,contentResolver: ContentResolver): String {val filePath: Stringval filePathColumn = arrayOf<String>(MediaStore.MediaColumns.DATA)val cursor: Cursor =contentResolver.query(selectedVideoUri, filePathColumn, null, null, null)cursor.moveToFirst()val columnIndex: Int = cursor.getColumnIndex(filePathColumn[0])filePath = cursor.getString(columnIndex)cursor.close()return filePath}
2.绝对路径转uri
fun getImageContentUri(context: Context, imageFile: File): Uri? {val filePath = imageFile.absolutePathval cursor = context.contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, arrayOf(MediaStore.Images.Media._ID), MediaStore.Images.Media.DATA + "=? ", arrayOf(filePath), null)return if (cursor != null && cursor.moveToFirst()) {val id = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID))val baseUri = Uri.parse("content://media/external/images/media")Uri.withAppendedPath(baseUri, "" + id)} else {if (imageFile.exists()) {val values = ContentValues()values.put(MediaStore.Images.Media.DATA, filePath)context.contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)} else {null}}}
Android Content开头的Uri和文件绝对路径互相转换相关推荐
- /mnt/sdcard或者/sdcard这是Android手机中SD卡的文件夹路径
Android系统的开放,使其用户可以自己查看系统和SD卡中的文件夹.就系统和SD卡中常见的目录代表什么意思,下面是一个较实用的总结: 一.SD卡中 1. /mnt/sdcard或者/sdcard这是 ...
- android 获取文件uri,Android:从内容URI获取文件URI?
如果你有一个file:///的内容Uri,你可以使用此方法获取Android 19或更高版本的文件夹或文件的绝对路径. public static String getPath(final Conte ...
- AndroidStudio_安卓原生开发_拍照存储在Uri中_利用图片后通过Uri获取文件真实路径_然后删除---Android原生开发工作笔记161
程序中有拍照的需求,拍照的时候,照片存在uri中,然后这个时候,系统会自动保存一遍,拍摄的照片 由于利用完照片以后,这个照片,便不再需要了,所以可以删除掉,但删除的时候,我们只有uri,怎么通过 ur ...
- android调用文件管理器回调,Android中调用系统管理器选择文件并返回绝对路径
选择文件的时候,如果使用的是第三方软件,一般是直接返回绝对路径的Uri,如果是系统的,则会返回媒体库的xxxx,所以单纯一种方式选择文件,很可能拿到的绝对路径是错的或者是空的,所以需要做几种处理,这里 ...
- Android 打开系统文件管理器,并返回选中文件的路径
职场小白迷上优美句子: 推迟,拖延真的是件可怕的事,过去了好久还是原来的样子. 公司现在的项目中有一个需求,需要把本地 json 格式的数据导入到项目中使用,其实简单的逻辑就是:使用安卓隐式跳转的方式 ...
- Android 根据Uri删除文件
从合理利用内存的角度出发,在开发的过程中,用不到的file要进行回收.在需要使用系统应用时,数据的传输需要用Uri,本篇博客就是对根据Uri删除文件的知识总结. Uri的两种形式: 1. 以& ...
- android根据拍摄url获取格式,Android如何通过URI获取文件路径示例代码
前言 最近在工作的过程中,遇到不同 Android 版本下 URI 采用不同方式来获取文件路径的问题. 因为需求的原因,要求拍照上传或者从相册中选择图片上传,而且图片是需要经过压缩的,大小不能超过2M ...
- android本地视频封装uri,android – 从内容uri获取所拍摄视频的文件
我有一个方法如下: private String getRealPathFromUriForVideos(Uri selectedVideoUri) { String wholeID = Docume ...
- Android 中ContentProvider和Uri详解
一.使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给 ...
最新文章
- iterm2 mac链接linux工具 桌面程序Transmit
- 操作系统基本分段存储管理方式
- JVM(HotSpot) 垃圾收集器
- Team Foundation Server的回滚操作
- 电脑排行榜笔记本_2019联想笔记本电脑排行榜
- 洛谷 | P1219 八皇后(DFS)C++
- expec不管异常 try_java – 如何使用ExpectedException规则在一个测试中测试多个异常?...
- vb6 调用 .Net Dll
- 如果一非零的整系数多项式能够分解成两个次数较低的有理系数多项式的乘积,那么它一定能分解成两个次数较低的整系数多项式的乘积
- 2021年微信小程序点餐系统功能模板搭建
- 思维导图有什么用?思维导图的优势、缺点及其适用人群详解
- Bug解决-IndentationError:expected an indented block
- 【保研】-- 保研夏令营中线上面试注意事项
- 莫再用唐僧式的唠叨施加影响----家长式管理者实施HOLA的障碍
- 新浪开发平台实现分享
- 常见python爬虫模板_常见的Python爬虫框架有几个?
- Bandwagon Host IP Change修改IP
- 基于STC89C52单片机实现简易计算器
- IPFS系列 - 分布式哈希表(DHT)
- 电路+模电+电力电子基础