http://developer.android.com/training/camera/photobasics.html gives a good way of capturing image from camera.
But as per the tutorial it creates a empty file in "external"(can be user defined) location and what if user cancels activity then empty file will still be there. Is this empty file deletion should be taken care by app itself ? or is there a way by which OS can take care (assuming that location is accessible by OS) ?
Yes.
Android has no way to know that you want the file to be deleted, unless you delete the file.