This will allow you to take a URI given from the Gallery browser and convert it into a direct path to the file in the file system. I needed to get the exact path a chosen image was stored in for logging purposes. There may be better ways of doing this so your input is welcome.
// To open up a gallery browserIntent intent = new Intent();intent.setType("image/*");intent.setAction(Intent.ACTION_GET_CONTENT);startActivityForResult(Intent.createChooser(intent, "Select Picture"),1);// To handle when an image is selected from the browser, add the following to your Activity@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == 1) { // currImageURI is the global variable I'm using to hold the content:// URI of the image currImageURI = data.getData(); } }}// And to convert the image URI to the direct file system path of the image filepublic String getRealPathFromURI(Uri contentUri) { // can post image String [] proj={MediaStore.Images.Media.DATA}; Cursor cursor = managedQuery( contentUri, proj, // Which columns to return null, // WHERE clause; which rows to return (all rows) null, // WHERE clause selection arguments (none) null); // Order-by clause (ascending by name) int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index);}