您的位置:首页 > 移动开发 > Android开发

Android中file开头的uri转换为content开头的ur:

2015-11-02 10:23 531 查看
直接上代码~

/**
* file开头的uri转换为content开头的uri
* @param uri 任意uri
* @return content开头的uri
*/
private Uri file2Content(Uri uri) {
if (uri.getScheme().equals("file")) {
String path = uri.getEncodedPath();
if (path != null) {
path = Uri.decode(path);
ContentResolver cr = this.getContentResolver();
StringBuffer buff = new StringBuffer();
buff.append("(")
.append(MediaStore.Images.ImageColumns.DATA)
.append("=")
.append("'" + path + "'")
.append(")");
Cursor cur = cr.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[]{MediaStore.Images.ImageColumns._ID},
buff.toString(), null, null);
int index = 0;
for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {
index = cur.getColumnIndex(MediaStore.Images.ImageColumns._ID);
index = cur.getInt(index);
}
if (index == 0) {
//do nothing
} else {
Uri uri_temp = Uri
.parse("content://media/external/images/media/"
+ index);
if (uri_temp != null) {
uri = uri_temp;
}
}
}
}
LogUtil.i("uri = " + uri);
return uri;
}


参照博客:http://blog.csdn.net/dyfleoo/article/details/8118855
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: