Here you can find the source of getPath(Context context, Uri uri)
public static String getPath(Context context, Uri uri) throws URISyntaxException
//package com.java2s; //License from project: Apache License import java.net.URISyntaxException; import android.content.Context; import android.database.Cursor; import android.net.Uri; public class Main { public static String getPath(Context context, Uri uri) throws URISyntaxException { if ("content".equalsIgnoreCase(uri.getScheme())) { String[] projection = { "_data" }; Cursor cursor = null; try { cursor = context.getContentResolver().query(uri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow("_data"); if (cursor.moveToFirst()) { return cursor.getString(column_index); }//from www . j ava 2s . co m } catch (Exception e) { // Eat it } } else if ("file".equalsIgnoreCase(uri.getScheme())) { return uri.getPath(); } return null; } }