|The problem here would be that you are not understanding how content providers work in Android — they are the toughest and most confusing parts of Android development. Android platform requires apps to expose a read/write/read-write able locations to be used to share the data. If you do not expose these, overall workflow is highly difficult (if not impossible).
When you capture an image with Camera app (not talking about using the hardware camera, and controlling it yourself), the app would try to store the snapshot at a location from where you can access it. That is the part where content providers are used. Content Providers are a complete, and advanced topic in Android development (Content Providers | Android Developers), consider reading them before rewriting your app. Once the camera app does its job, you can then access the image from the
File object that you passed as a
Uri through content providers. Later, you can stream that file to the server or anything — that is side process.
Android developer website has the full documentation for this, Taking Photos Simply | Android Developers.
Lastly, as for the Geolocation information, consider this answer, Write/Geotag JPEGs (EXIF data) in Android - Stack Overflow, also it does not make sense but somehow it strikes me as though you are creating a camera app yourself, consider this documentation for that, Controlling the Camera | Android Developers
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~