The camera application mostly uses the last known location, which could be old and miles away from your current position.
FineGeotag will try to acquire an accurate location in real-time and update the Exif location tags of the photos taken.
FineGeotag will try to use the GPS and/or the network location, depending on which location providers are enabled in the Android settings.
Optionally a popup will be shown with a thumbnail of the photo and the reverse geocoded address.
More information / source code / support: https://github.com/M66B/FineGeotag