Shared Photos – a UPnP/DLNA image viewer for Android

‘Shared Photos’ is a small image viewer for Android that loads and displays images stored on an UPnP/DLNA server in the local network. I wrote it in the last weeks to become familiar Android development. It has some unique features which I could not find in similar apps on Google Play:

  • Support for Low Profile and Immersive Full-Screen Mode.
  • Show image description stored in IPTC metadata as subtitle.
  • Automatic screen rotation: the image is rotated so that it covers as much pixels of the screen as possible.
  • Zooming, panning etc. as in the Android Gallery app.
  • Easy to use. Just start it, choose a server and browse your images.
Albums overview
Albums overview
All images in an album
All images in an album
Show image in Low-Profile Fullscreen Mode (Android 4.3).
Show image in Low-Profile Fullscreen Mode (Android 4.3).

I use some really great libraries in this project, namely PhotoView to display images, metadata-extractor to extract metadata/thumbnails and Cling to access DLNA servers. Thanks for that!

However, although the app uses UPnP/DLNA to communicate with the server, I can’t promise that it works with a lot of servers out there. I almost exclusively tested it with MiniDLNA 1.0.21. For this reason, I decided to not publish it on Google Play for now, maybe at some time in the future. Moreover, the app probably still contains a lot of bugs, as I have not used and tested it extensively. It basically works for me on a Sony Xperia (Android 7.0), Nexus 10 (Android 5.0), Nexus 7 2013 (Android 4.4.4) and Galaxy Nexus (Android 4.3). I will publish it here to get some feedback and because the source code may be interesting for someone.

If you want to try it out, you can download the APK below. As usual, the source is on GitHub. Feel free to fork, play with the code and contribute, if you like.

Update 2015-03-27 Added option to disable automatic screen rotation and subtitles.
Update 2016-04-30 Added option to change size of thumbnails in browser.
Update 2017-06-10 Save scroll position when navigating between folders (thanks to jhavens1566). Support for Android N.
Update 2020-05-17 More robust DLNA browsing. Support for Android 9 and 10.
Update 2020-09-27 Support for Android TV.



29 thoughts on “Shared Photos – a UPnP/DLNA image viewer for Android

    1. I already thought about an option to disable automatic rotation (as well as subtitles). I will probably add it in the next days.

      1. I uploaded a new version that has a “Settings” dialog where you can find an option to disable automatic screen rotation and subtitles.

      2. Thanks for the app! It works really well, and from those I tried in the Google Play store, this was one of only two which worked while my phone was in hotspot mode, which I need so my Raspberry Pi Zero camera backup can connect to the phone while out and about.

        Why haven’t you put this great app in the Play store?

        I just wish I could download certain images to my phone!

  1. Hello yesterday I was recommended this program, I have time looking for a program well for android, is spectacular, all you need to be perfect is there a way to disable the automatic rotation, is uncomfortable to see a picture and that this change its position on screen . that would be great image rotation happens if I change from portrait to landscape the tablet or mobile device, I hope you read this suggestion. again, thank you for this apicación. it’s great !! the hope you update soon.

    I apologize for my English is not my native language

  2. Pingback: googlephotos
  3. Hey, I just wanted to say that this app is excellent. Only one suggestion that flows from my use:

    -Can you add an option to change the number of columns of images?

    Thanks again for your work.

      1. Thanks very much. Would recommend this app to anybody. I actually did think of something else- is there a way to have the app “remember” the position of the scrollbar when returning to a folder using the back key?

  4. Great idea and seemingly just what I was hoping to find, really appreciate your work!

    However, when I install this onto my daughter’s Samsung Galaxy to access our DLNA server hosted on our ASUS router, the app sees the server, browses it correctly but then generates, “Error: Current state of the service prevents invoking that action. Can’t parse XML…” when I try to browse into the folder containing the photos.

    Any ideas about what might be the issue or how I might solve it?

    Thanks in advance!

      1. In version 1.2 I updated to version 2.1.0 of the UPnP library Cling, even though I think it won’t help, unfortunately. Although there is a standard for DLNA/UPnP, there are lots of incompatible implementations. All I can is that it works with minidlna and AVM devices.

  5. Hi
    It goes on my hdd router drive, it shows thumbnails but after opening any jpg image the app is crashing saying that the app has stopped 😦
    I just love simple things, please is there a way for You to fix this?
    Maybe image library update?
    Is there a way for more to help, give You log or something?
    I run android 5.1.1 on samsung j5

    Much appreciated.

  6. Hello,

    I first had the same situation as dev above, i.e. the app crashing. I made the images considerably smaller then, after that it worked.

    I wonder if instead of creating yet another application to show photos it would be possible to just code a dnla picture provider that would allow to access images via dnla using any application that used picture providers. That would be great.

    Once I found out how to properly create backtraces on Android I will report more details about the crash.


  7. Great App! Very useful.
    It would be perfect if there were sorting options (ascending, descending, by name, date, size, etc.) or I didn’t find them 😉

  8. This sounds great but I was expecting an apk file from the link and what I got was a Man file that I have no idea what to do with. Can you provide instructions please

    1. What do you mean with “Man file”? Which browser do you use? Maybe it works if you right click on the link and choose “Save link as…”

      1. Thanks for responding quickly. I clicked the link apk and saved the file that was downloaded. I have attached the file.


      2. I clicked the link for APK and it downloaded a file called “”. I was expecating a file with and APK extension

  9. Hi Tobias,
    I was looking for exactly this kind of program, unfortunately the download link does not seem to work anymore? I was able to find ver. 1.2 in your files folder and installed it.

    But unfortunately the program did not find my minidlna-server. There is just the “wheel of death” for quite a while. Any hints? In general my setup works (e.g. with upnplay).

    Would be happy for any comments, thanks,

    1. The problem with the download should be fixed now, thanks for reporting! Maybe it works with version 1.3? Which version of Android do you use?

  10. Hi any chance add play option for automatic photo browsing. Otherwise perfect and that’s what I looked for a while.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: