I want to get file name from sdcard file path.
e.g. :/storage/sdcard0/DCIM/Camera/1414240995236.jpg  I want get 1414240995236.jpg
 I have written the code to fetch the same but it is not working. Please help.
Below is my code:
@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data)
{
    if ( requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
        if ( resultCode == RESULT_OK) {
            /*********** Load Captured Image And Data Start ****************/
            String imageId = convertImageUriToFile( imageUri,CameraActivity);
            //  Create and excecute AsyncTask to load capture image
            new LoadImagesFromSDCard().execute(""+imageId);
            /*********** Load Captured Image And Data End ****************/
        } else if ( resultCode == RESULT_CANCELED) {
            Toast.makeText(this, " Picture was not taken ", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, " Picture was not taken ", Toast.LENGTH_SHORT).show();
        }
    }
}
/************ Convert Image Uri path to physical path **************/
public static String convertImageUriToFile ( Uri imageUri, Activity activity )  {
    Cursor cursor = null;
    int imageID = 0;
    try {
        /*********** Which columns values want to get *******/
        String [] proj={
                MediaStore.Images.Media.DATA,
                MediaStore.Images.Media._ID,
                MediaStore.Images.Thumbnails._ID,
                MediaStore.Images.ImageColumns.ORIENTATION
        };
        cursor = activity.managedQuery(
                imageUri,         //  Get data for specific image URI
                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)
                );
        //  Get Query Data
        int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
        int columnIndexThumb = cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
        int file_ColumnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        //int orientation_ColumnIndex = cursor.
        //    getColumnIndexOrThrow(MediaStore.Images.ImageColumns.ORIENTATION);
        int size = cursor.getCount();
        /*******  If size is 0, there are no images on the SD Card. *****/
        if (size == 0) {
            imageDetails.setText("No Image");
        }
        else
        {
            int thumbID = 0;
            if (cursor.moveToFirst()) {
                /**************** Captured image details ************/
                /*****  Used to show image on view in LoadImagesFromSDCard class ******/
                imageID     = cursor.getInt(columnIndex);
                thumbID     = cursor.getInt(columnIndexThumb);
                String Path = cursor.getString(file_ColumnIndex);
                //String orientation =  cursor.getString(orientation_ColumnIndex);
                String CapturedImageDetails = " CapturedImageDetails : \n\n"
                        +" ImageID :"+imageID+"\n"
                        +" ThumbID :"+thumbID+"\n"
                        +" Path :"+Path+"\n";
                full_path_name=Path;
       //this is my path  
       //Path :/storage/sdcard0/DCIM/Camera/1414240995236.jpg  i want get 1414240995236.jpg
                // Show Captured Image detail on activity
                imageDetails.setText(Path);
            }
        }   
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
    // Return Captured Image ImageID ( By this ImageID Image will load from sdcard )
    return ""+imageID;
}
/**
 * Async task for loading the images from the SD card.
 *
 * @author Android Example
 *
 */
// Class with extends AsyncTask class
public class LoadImagesFromSDCard  extends AsyncTask<String, Void, Void> {
    private ProgressDialog Dialog = new ProgressDialog(CameraPhotoCapture.this);
    Bitmap mBitmap;
    protected void onPreExecute() {
        /****** NOTE: You can call UI Element here. *****/
        // Progress Dialog
        Dialog.setMessage(" Loading image from Sdcard..");
        Dialog.show();
    }
    // Call after onPreExecute method
    protected Void doInBackground(String... urls) {
        Bitmap bitmap = null;
        Bitmap newBitmap = null;
        Uri uri = null;      
        try {
            /**  Uri.withAppendedPath Method Description
             * Parameters
             *    baseUri  Uri to append path segment to
             *    pathSegment  encoded path segment to append
             * Returns
             *    a new Uri based on baseUri with the given segment appended to the path
             */
            uri = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "" + urls[0]);
            /**************  Decode an input stream into a bitmap. *********/
            bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
            if (bitmap != null) {
                /********* Creates a new bitmap, scaled from an existing bitmap. ***********/
                newBitmap = Bitmap.createScaledBitmap(bitmap, 170, 170, true);
                bitmap.recycle();
                if (newBitmap != null) {
                    mBitmap = newBitmap;
                }
            }
        } catch (IOException e) {
            // Error fetching image, try to recover
            /********* Cancel execution of this task. **********/
            cancel(true);
        }
        return null;
    }
    protected void onPostExecute(Void unused) {
        // NOTE: You can call UI Element here.
        // Close progress dialog
        Dialog.dismiss();
        if(mBitmap != null)
        {
            // Set Image to ImageView 
            showImg.setImageBitmap(mBitmap);
        } 
    }
}
 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    