The most robust solution would probably be to setup a central application server and use Cloud to Device Messaging. Let devices register themselves with the application server when they tune into a WiFi network (use ConnectivityManager to register for notifications on network status changes, and get the SSID). Define http protocols to let the application server handle
- Devices connecting and disconnecting from a WiFi network
- An image being uploaded (probably identified by name unless there is
ever only one image you want to broadcast)
- Downloading an image
If you want to transmit images directly over the WiFi network (and avoid net roundtrips), steps 2 and 3 would be redundant. You can probably use C2DM to let devices register their IP addresses directly, and use lower-level network protocols (android.net?) for transmission. Such a solution would get more complex in order to manage partial transmissions, devices being turned on and off and suddenly leaving the network: Android devices are not designed to be servers.