android开发 根据Uri获取真实路径

Uri uri = data.getData();

String[] proj = { MediaStore.Images.Media.DATA };

Cursor actualimagecursor = managedQuery(uri,proj,null,null,null);

int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

actualimagecursor.moveToFirst();

String img_path = actualimagecursor.getString(actual_image_column_index);

File file = new File(img_path);


以下是4.2.2之后,managedQuery方法被废弃后的解决方案:
public String getRealPathFromURI(Uri contentUri) {
    String res = null;
    String[] proj = { MediaStore.Images.Media.DATA };
    Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
    if(cursor.moveToFirst()){;
       int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
       res = cursor.getString(column_index);
    }
    cursor.close();
    return res;
}

/***********************************/刚试了,,没用,,出现空指针异常
cursor.moveToFirst()   暂时还没找着解决办法
时间: 2024-11-08 02:49:19

android开发 根据Uri获取真实路径的相关文章

android Uri获取真实路径转换成File的方法

Uri uri = data.getData(); String[] proj = { MediaStore.Images.Media.DATA }; Cursor actualimagecursor = managedQuery(uri,proj,null,null,null); int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); actua

android开发的权限获取 (转载的)

访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 获取精确位置 android.permission.ACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内 访问定

Android开发之异步获取并下载网络资源-下载图片和下载文本内容

在android网络开发过程中,经常需要获取网络资源,比如下载图片,下载文本文件内容等,这个时候就需要http请求来获取相应的网络资源.首先看看实例效果图:              下载图片截图                                                                                                下载文本文件内容截图 下面介绍如何来实现这样的开发: (1)从指定的URL获取对应的流 既然要获取网络资源,那么

Android开发:LocationManager获取经纬度及定位过程(附demo)

在Android开发其中.常常须要用到定位功能,尤其是依赖于地理位置功能的应用.非常多人喜欢使用百度地图,高德地图提供的sdk.开放API,可是在只须要经纬度,或者城市,街道地址等信息.并不须要提供预览地图.地图界面的应用中.这时,不须要使用百度地图.高德地图.这样做只会添加apk的体积.怎么办呢? 事实上LocationManager,Geocoder这些Android API给我们提供的这些类就能够满足了. 以下笔者就来讲讲怎样利用LocationManager获取经纬度,并利用Geocod

从零开始学android开发-通过WebService获取今日天气情况

因为本身是在搞.NET方面的东东,现在在学习Android,所以想实现Android通过WebService接口来获取数据,网上很多例子还有有问题的.参考:Android 通过WebService进行网络编程,使用工具类轻松实现这篇博客,还是实现了通过一个公开的WebService获取今日天气情况这么一个功能.实现效果如下: 有时候我们需要用到WebService接口来获取数据,WebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台.不同语言.不

android开发积累_1)获取文件、文件夹存储空间和Toast的人性化使用

记录一下平时经常需要运用到得文件相关内容,俗话讲好记性不如烂笔头!   1) <strong>/** * 根据路径获得,某个文件或文件夹所在的存储器的内存空间总大小 * * @return */ public static long getTotalMemorySize(String path) { StatFs stat = new StatFs(path); long blockSize = stat.getBlockSize(); // 每个block 占字节数 long totalBl

Android 开发总结之获取来电号码

创建一个广播事件接收者,并在清单文件中注册此文件,过滤意图为android.intent.action.PHONE_STATE在intellij中因为未提示还以为没有这个,其实是有的,增加权限android.permission.READ_PHONE_STATE <receiver android:name=".receiver.CallReceiver"> <intent-filter> <action android:name="androi

Android开发常用工具总结

目录: 什么是AIDL以及如何使用 获取总内存及可用内存 dp.px转换 程序的安装与卸载 根据URI获取真实路径 关闭开启网络 还原短信 横竖屏切换 获取mac地址 获取SD卡状态 获取状态栏和标题栏的高度 获取各种窗体高度 获取内外置存储卡路径 捕获Application全局异常 禁止Home键 开机启动 控制对话框位置 模拟器错误 挪动dialog的位置 屏幕适配 设置APN 调节屏幕亮度 重启 拍照.录音.录像 隐藏软键盘 隐藏以及显示软键盘以及不自动弹出键盘的方法 BitMap.Dra

android解决部分手机无法通过uri获取到相册的path

/** * 通过uri 获取 文件路径 * * @param imageUri * @return path */ private String getPath(Uri imageUri) { if (imageUri == null) return null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT && DocumentsContract.isDocumentUri