photocloud-frame-slideshow

Android Digital Photo Frame

FAQ (Frequently Asked Questions)

ChromeCast icon not shown

When you start the slideshow, just touch the image, to pause the slideshow and to reveal more controls:

The upper bar shows the following action buttons:

The lower bar with the up-arrow will reveal the detailed EXIF data upon touch.

Slideshow from a subfolder

There are two ways to achieve this:

Slideshow from multiple Streams

Just touch the Stream icon, located to the left corner of the Stream card.

The main screen listing four stream cards:

You will be able to check multiple streams; then just touch the upper-right Start Slideshow button to start slideshow from all of those streams.

Google Photos support

The Google Photos API is incredibly crappy and I’ve gave up on integrating with that. However, there is a workaround and it is in fact possible to see your photos, via Google Drive.

Note: When you click the “Google Photos” on your Google Drive, it may say that “Drive no longer includes a Google Photos view.” That is not true, you can still see your photos in the Google Drive, but it will be attached underneath the “My Drive” folder. Just follow the tutorial below.

Simply Configure your Google Photos to work with Google Drive:

Adding more Streams

Open the main screen and touch the lower big white plus button. You will be able to add additional streams.

Settings

Touch the upper-right cog wheel Settings button in the main screen. You can for example configure to start slideshow from a Stream (or a combination of Streams)

And others.

Launching PhotoCloud at boot-up time

When configured, PhotoCloud is able start when your device boots up, turning your device into a photo frame. However this tends to be tricky, therefore please make sure to revisit all of the following items:

  1. In Settings / Slideshow, make sure that the “Auto-start Slideshow on Boot” is checked. Sometimes the Wifi may settle slowly, in that case please just check also the “Delay auto-start Slideshow on Boot” setting.
  2. You need to start the PhotoFrame app at least once by touching the PhotoCloud launcher icon, otherwise Android will not send the RECEIVE_BOOT_COMPLETED to the app and the app will not start. This is a built-in Android security measurement and there’s nothing PhotoCloud can do.
  3. Please make sure that the RECEIVE_BOOT_COMPLETED permission is enabled for PhotoCloud and that your phone haven’t accidentally removed that permission. Typically you open the list of installed apps, find PhotoCloud and you can find the permissions there. However, this may differ on certain phones; please follow your phone’s permission manager tutorial to review the permissions.

Reporting crashes

PhotoCloud logs what it is doing, to a standard Android log. If PhotoCloud does not work properly or keeps crashing, please open a bug report at PhotoCloud Bug Tracker. During our conversation, I may ask for a log produced by PhotoCloud. Please follow the following steps to obtain the crash stack trace:

Caution: the log may contain sensitive information such as phone numbers you have dialed etc. Make sure to paste only the stack trace into the Github issue, with sensitive info (file names) starred out. The most important part is the crash information itself, or an exception stack-trace as it is called. It looks like this:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: sk.baka.photoframe, PID: 11590
                  java.lang.RuntimeException: Unable to instantiate application sk.baka.photoframe.App: java.lang.RuntimeException: Simulated
                      at android.app.LoadedApk.makeApplication(LoadedApk.java:823)
                      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5522)
                      at android.app.ActivityThread.-wrap2(ActivityThread.java)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:241)
                      at android.app.ActivityThread.main(ActivityThread.java:6274)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                   Caused by: java.lang.RuntimeException: Simulated
                      at sk.baka.photoframe.App.<init>(App.java:71)
                      at java.lang.Class.newInstance(Native Method)
                      at android.app.Instrumentation.newApplication(Instrumentation.java:1008)
                      at android.app.Instrumentation.newApplication(Instrumentation.java:993)
                      at android.app.LoadedApk.makeApplication(LoadedApk.java:817)
                      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5522) 
                      at android.app.ActivityThread.-wrap2(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:241) 
                      at android.app.ActivityThread.main(ActivityThread.java:6274) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)