Android如何获得指定文件的Uri
来源:互联网 发布:各国网站域名后缀 编辑:程序博客网 时间:2024/05/16 08:40
许多情况下,我们要获得指定文件的Uri,费话不多说直接上代码:
通过已知路径来获得audio文件的uri
/** * 查找在于SDcard中的Audio文件对应于MediaStore 的uri * @param file 音频文件 * @return */public Uri queryUriforAudio(File file){final String where = MediaStore.Audio.Media.DATA + "='"+file.getAbsolutePath()+"'";Cursor cursor=query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, where, null, null);if (cursor == null) {return null;}int id = -1;if (cursor != null) {cursor.moveToFirst();if (!cursor.isAfterLast()) {id = cursor.getInt(0);}cursor.close();}if(id==-1){return null;}return Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, String.valueOf(id));}
关于Video的可能有些不同,见代码
/** * 查找视频文件对应于MediaStore的Uri * @param file 视频文件 * @return */private Uri queryUriForVideo(File file){int id = getId(file);if(id==-1){return null;}return Uri.withAppendedPath(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, String.valueOf(id));}/** * 获得 指定视频文件F在MediaStore中对应的ID * @param f 视频文件 * @return 对应ID */private int getId(File f){int id = -1;// MediaStore.Video.Media.DATA:视频文件路径;// MediaStore.Video.Media.DISPLAY_NAME : 视频文件名,如 testVideo.mp4// MediaStore.Video.Media.TITLE: 视频标题 : testVideoString[] mediaColumns = { MediaStore.Video.Media._ID,MediaStore.Video.Media.DATA, MediaStore.Video.Media.TITLE,MediaStore.Video.Media.MIME_TYPE,MediaStore.Video.Media.DISPLAY_NAME };final String where = MediaStore.Video.Media.DATA + "="+"?"; Cursorcursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,mediaColumns, where, new String[]{f.getAbsolutePath()}, null);if(cursor==null){Toast.makeText(this, "没有找到可播放视频文件", 1).show();return -1;}if (cursor.moveToFirst()) {do {id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID));//sysVideoList.add(info);} while (cursor.moveToNext());}return id;}
- Android如何获得指定文件的Uri
- android中知道文件的绝对路径,如何获得content开头的URI
- Android如何拿到指定文件夹下的所有图片uri
- Android:根据Uri获得Image的绝对路径
- android调用系统文件浏览器获得uri或者文件路径
- 与HDFS命令交互时如何指定文件和目录确切位置的URI
- 指定Uri文件图片进行压缩,如何避开OOM?
- 获得URI的路径
- 如何获得指定进程的主窗口
- 如何获得指定进程的主窗口
- 如何获得指定进程的主窗口
- Java 如何获得指定区间的数
- android拍照获得图片URI为空的处理方法
- android拍照获得图片URI为空的处理方法
- android拍照获得图片URI为null的处理方法
- android拍照获得图片URI为空的处理方法
- Android拍照获得图片URI为空的处理方法
- Pack URI指定文件不能使用的问题
- SQLite数据库简介
- Linux各模块框架
- OpenSSL
- Linux下面的线程锁,条件变量以及信号量的使用
- 关于GetClientRect与GetWindowRect的误区
- Android如何获得指定文件的Uri
- 【集合】HashMap哈希映射类
- Android入门列表框(ListView)的使用
- Android数据库SQLiteDatabase的使用
- 解决google掉线办法 本地域名解析
- 总结OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别
- 修改Dialog大小
- ASP.NET自定义控件 第一天 简单的星级控件
- 百度搜索引擎代码