private String getRealPath( Uri fileUrl ) {
String fileName = null;
if( fileUrl != null ) {
if( fileUrl.getScheme( ).toString( ).compareTo( "content" ) == 0 ) // content://开头的uri
{
Cursor cursor = this.getContentResolver( ).query( fileUrl, null, null, null, null );
if( cursor != null && cursor.moveToFirst( ) ) {
try {
int column_index = cursor.getColumnIndexOrThrow( MediaStore.Images.Media.DATA );
fileName = cursor.getString( column_index ); // 取出文件路径
} catch( IllegalArgumentException e ) {
e.printStackTrace();
}finally{
cursor.close( );
}
}
} else if( fileUrl.getScheme( ).compareTo( "file" ) == 0 ) // file:///开头的uri
{
fileName = fileUrl.getPath( );
}
}
return fileName;
}

网上搜的好坑,自己修改了一下。

android 获取uri的正确文件路径的办法的更多相关文章

  1. delphi 获取 TreeView选中的文件路径

      //获取 TreeView选中的文件路径 unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, G ...

  2. 关于获取web应用的文件路径的注意事项

    今天在把数据写入文件时遇到了一个问题,指定的文件获取不到.一开始是这样的 URL url = XXX.class.getClassLoader().getResource(fileName);File ...

  3. python 获取导入模块的文件路径

    接触到项目上有人写好的模块进行了导入,想查看模块的具体内容是如何实现的,需要找到模块的源文件. 本博文介绍两种查找模块文件路径方法: 方法一: #!/usr/bin/python # -*- codi ...

  4. Mac下获取AppStore安装包文件路径

    通过远在大洋彼岸的苹果服务器下载东西,确实有够慢啊!AppStore更甚:甚至都经常提示连不上服务器,而有些软件呢,还必须从AppStore下载安装,所以没办法,谁让上了苹果的贼船呢!公司的网速更是不 ...

  5. Mac下获取AppStore安装包文件路径-取出安装包

    问题描述:我们通过AppStore下载软件的时候想要把安装包保存下来,但是AppStore安装好之后会自动删除安装包,而且安装路径也很难找到. 解决方案: 一.打开活动监视器 二.找storedown ...

  6. android 获取Asset中Properties文件配置的键值对

    1 获取 AssetManager AssetManager assetManager = context.getApplicationContext().getAssets(); 2 获取流 Str ...

  7. c# 获取应用程序exe文件路径及退出应用程序的几种方法

    this.GetType().Assembly.Location; Application.ExecutablePath; Application.StartupPath:和上面的相比缺少可执行文件 ...

  8. Qt5获取系统文件图标,文件路径

    获取系统图标: QFileIconProvider icon_provider; QIcon icon = icon_provider.icon(QFileIconProvider::Folder); ...

  9. 『练手』通过注册表 获取 VS 和 SQLServer 文件路径

    获取任意 VS 和 SQLServer 的 磁盘安装目录. 背景需求:如果磁盘电脑安装了 VS 或者 SQLServer 则 认定这台计算机 的使用者 是一名 软件研发人员,则让程序 以最高权限运行. ...

随机推荐

  1. linux下测试读写

    1.测/目录所在磁盘的纯写速度: time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file 2.测/目录所在磁盘的纯读速度: time dd if ...

  2. systemd-nspawn以及container的学习

    container的分类 目前container可以分为两大类,一类是Privileged container,一类是Unprivileged container. Privileged contai ...

  3. selenium2.x 与 selenium3.x 最大区别

    一.selenium2.x 与 selenium3.x 最大区别 (1) 从3.0版本selenium开始使用火狐浏览器完成web自动化就需要用到驱动包了. (2) 而2.0版本的selenium使用 ...

  4. 『学了就忘』Linux基础命令 — 32、压缩和解压缩相关命令

    目录 1.".zip"格式压缩 2.".gz"格式压缩 3.".bz2"格式压缩 4.".tar"格式打包 5.打包和压 ...

  5. 腾讯发布 K8s 多集群管理开源项目 Clusternet

    11月4日,在腾讯数字生态大会上,腾讯宣布了云原生领域一项重磅开源进展-- K8s 多集群管理项目 Clusternet 正式开源. Clusternet 由腾讯联合多点生活.QQ音乐.富途证券.微众 ...

  6. Java测试开发--lambda函数式编程(六)

    1.Lambda 表达式,是jdk1.8特性,接口里只有一个方法. 举例说明 // ()参数列表 ->连接符 {方法体} 经常在匿名对象 testPerson(()->{System.ou ...

  7. Pip安装Django超时(time out)解决方法

    (ll_env)learning_log$  pip install Django  执行该命令,始终报错,如上图 解决方法如下: pip install  -i http://pypi.douban ...

  8. css 跑马灯加载特效

    css 跑马灯加载特效 <!DOCTYPE html> <html lang="en"> <head> <meta charset=

  9. PTA 7-2 畅通工程之局部最小花费问题 (35分)

    PTA 7-2 畅通工程之局部最小花费问题 (35分) 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出"畅通工程"的目标:使整个地区任何两个城镇间都可以实 ...

  10. 《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe -上篇(详解教程)

    1.简介 原估计宏哥这里就不对iframe这个知识点做介绍和讲解了,因为前边的窗口切换就为这种网页处理提供了思路,另一个原因就是虽然iframe很强大,但是现在很少有网站用它了.但是还是有小伙伴或者童 ...