当前位置: 代码迷 >> Android >> 从android相本获取所有图片的路径
  详细解决方案

从android相本获取所有图片的路径

热度:60   发布时间:2016-04-27 23:28:56.0
从android相册获取所有图片的路径

在做从系统选择图片并获取到它们的路径时发现有些图片的uri.getScheme是“file”,有些图片的uri.getScheme是“content” 所有导致用uri.getPath并不能获取所有图片的路径,用如下代码解决:

public static String getPath(Activity activity, Uri uri) {		L.i("hui", "处理前的路径:" + uri);		if (null == uri) {			return null;		}		String path = null;		String scheme = uri.getScheme();		if (scheme == null) {			path = uri.getPath();		} else if (ContentResolver.SCHEME_FILE.equals(scheme)) {			path = uri.getPath();		} else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {			String[] projection = { MediaStore.Images.Media.DATA };			Cursor cursor = activity.managedQuery(uri, projection, null, null,					null);			if (null != cursor) {				int column_index = cursor						.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);				cursor.moveToFirst();				path = cursor.getString(column_index);				if (VERSION.SDK_INT < 14) { // android4.0及其以上的版本会自动关闭,不加会导致Attempted											// to access a cursor after it has											// been closed异常					cursor.close();				}			}		}		return path;	}


版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案