Get File Path of Gallery Image

来源:互联网 发布:angular.js 2.0下载 编辑:程序博客网 时间:2024/06/06 09:05

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);}


原创粉丝点击