Search code examples
androidchromecastandroid-tv

Settings to set a Screen Saver are not showing on Google Chromecast


I’m developing a custom screen saver for Android TV devices. On Google Chromecast, to set a screen saver, there is no possibility to do it in system settings, but it is possible to open it with intent.

val intent = Intent(Intent.ACTION_MAIN).setClassName(
  "com.android.tv.settings",
  "com.android.tv.settings.device.display.daydream.DaydreamActivity"
)
startActivity(intent)

After OS Update (OS version 10, 1 May 2022), this intent is presented but doing nothing. Start activity is called, but nothing happens. I also checked similar apps, like PhotoGalery, and Dreamy, and there is the same problem.

Is there any other way to handle this?


Solution

  • Chromecast with Google TV (HD or 4K)

    As you've discovered, the July 2022 update for the Chromecast with Google TV removed the ability/intent to open the Screensaver settings screen which allowed a user to...

    1. Select Ambient or any other installed 3rd party screensaver
    2. Change the timeout before the screensaver starts

    We don't know the reason for its removal but this update did free up more space on the device - and as the Android OS is smaller, maybe they thought it wasn't needed and removed it?

    Of course, it's possible a future update will restore the feature but who knows.

    Solutions?

    Currently, there are no good or easy solutions for regular or non-technical users.

    I have a screensaver in Play Store and I advise users to check my website for instructions on how to...

    1. Install the Android SDK Tools
    2. Run two ADB commands to set my screensaver as default and change the timeout value if needed

    But that's hardly a great experience.

    Other Android TV devices

    It's also important to know that a Chromecast with Google TV is different to other Android TVs, it's been customised a bit more - compare their Settings screens, for example.

    Both the latest 2022 Sony TVs with Android 10 and Nvidia Shield running Android 11 still have the ability to choose 3rd party screensavers.

    By contrast, the Amazon Fire TV devices had this option removed from the very beginning.