Android 选取手机相册图片方法
2015-12-30 10:39
411 查看
public static String getPicturePath(Intent data, Context context) {
String path = "";
// 外界的程序访问ContentProvider所提供数据 可以通过ContentResolver接口
ContentResolver resolver = context.getContentResolver();
try {
if (data != null) {
Uri uri = data.getData();
if (!TextUtils.isEmpty(uri.getAuthority())) {
Cursor cursor = context.getContentResolver().query(uri,
new String[] { MediaStore.Images.Media.DATA },null, null, null);
if (null == cursor) {
Toast.makeText(context, "图片没找到", Toast.LENGTH_SHORT).show();
return null;
}
cursor.moveToFirst();
path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
} else {
path = uri.getPath();
}
}else{
Toast.makeText(context, "图片没找到", Toast.LENGTH_SHORT).show();
return null;
}
return path;
} catch (Exception e) {
Log.e(TAG, e.toString());
return path;
}
}
String path = "";
// 外界的程序访问ContentProvider所提供数据 可以通过ContentResolver接口
ContentResolver resolver = context.getContentResolver();
try {
if (data != null) {
Uri uri = data.getData();
if (!TextUtils.isEmpty(uri.getAuthority())) {
Cursor cursor = context.getContentResolver().query(uri,
new String[] { MediaStore.Images.Media.DATA },null, null, null);
if (null == cursor) {
Toast.makeText(context, "图片没找到", Toast.LENGTH_SHORT).show();
return null;
}
cursor.moveToFirst();
path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
} else {
path = uri.getPath();
}
}else{
Toast.makeText(context, "图片没找到", Toast.LENGTH_SHORT).show();
return null;
}
return path;
} catch (Exception e) {
Log.e(TAG, e.toString());
return path;
}
}
相关文章推荐
- Android View 内存性能分析学习 <2>
- android内存分析工具MAT
- 转帖:Android 官方推荐 : DialogFragment 创建对话框
- android 动画interpolator简介
- android中xml tools属性详解
- android stutio故障处理之ADB not responding
- Android开发之开机启动某应用以及定时重启应用
- Android开发规范
- Android Studio教程从入门到精通
- Android简单计算器
- Android内存优化(使用SparseArray和ArrayMap代替HashMap)
- android permission权限与安全机制解析(下)
- Android编程使用缓存优化ListView的方法
- Android handler 内存泄露分析及解决方法
- 2015年十大热门Android开源新项目
- android利用annotation代替findViewById()
- Android学习笔记之AndroidManifest.xml文件解析
- android-Permissions Best Practices
- Android开发异常篇:运行工程出现:Connection with adb was interrupted错误提示以及解决办法
- Android中嵌入极光推送SDK存在冲突问题