Flutter Android TV devices

Polinc
4 min readNov 20, 2022

--

Flutter Android TV devices

Flutter currently supports six platforms: two mobile, three desktop and a web platform. There is no official support for any kind of TV system. The majority of smart TVs are powered by AndroidTV system, which is just a slightly modified version of a regular Android system. Although it is quite simple to run an app on Android TV device as any kind of app made in Flutter may be turned into an TV app with few tweaks, it must be underlined that there are significant differences between devices capable to run an TV app made with Flutter.

Android vs AndroidTV

Android TV is a smart TV operating system based on Android. As of end of 2022, more than 150 million devices run on AndroidTV. A large portion of that comes from the Chromecast with Google TV, as well as TCL’s Android TV OS models. When it comes to number of types of devices, Google Play report that there are circa 1300 types of AndroidTV enabled tv devices.

MiBox with AndroidTV

There are also smart-tv boxes running android system. Android TV box is basically a set-top box. It allows the users to watch on-demand videos, video content sites, play games, and watch regular network shows on big screen.

The issue with smart-tv boxes is that now everyone run on proper AndroidTV system. Actually most of them run on regular Android. It seems that AndroidTv require more advanced certifications on Google’s part and that’s why it is installed is only more expensive devices. I managed to find at least 4 devices running on AndroidTV i.e.

  • Blaupunkt Android TV Box B-Stream
  • Thomson THA100+
  • Nokia Android TV Streaming Box 8000
  • Xiaomi Mi Box S
Nokia Android TV Streaming Box

The list of devices running on a regular android is much richer and potentially endless. It contains mostly ‘no-names’ like:

  • STRONG Leap S1
  • T95H Allwinner H616
  • Q Android TV Box 10.0,
  • TUREWELL Android Smart Box
  • Magcubic TVBox
  • H618 Quad-Core Cortex-A53
  • Amlogic S905W

So what’s the difference between a device running on AndroidTV and a device running on Android? Every AndroidTV system is a version of its mobile counterpart sharing main rules of numbering. Nonetheless at the same time AndroidTV limits and extends its parent. It mostly boils down to three areas: apps, UI, libraries.

Home screen of AndroidTV

Applications

In order to run an app on AndroidTV you must fullfil several technical requirements (described here) among them modifying main TV activity, enabling tv UI or provide a home screen banner. Actually you can technically start the app, but it won’t be available in the menu. Also Google Play store app will filter out non tv-enabled apps. When it comes to smart-tv boxes running on regular android they work with any kind of apps — designed both for mobiles or/and tvs. Of course it makes some apps unusable due to technical requirements.

User interface

Home menu in AndroidTV system is pretty much the same across all the versions and devices. When it comes to tvboxes running on a standard android the home menu is specific to a certain device provided by custom launchers. It is not only about the feel and look of the interface, but also about having some AndroidTV specific capabilities i.e. Recommendation channels(row) and Watch Next row. They are absent in smart-tv boxes running on regular android and thus they lack these functions at all. The Android TV home screen provides a UI that displays recommended content as a table of channels and programs. Each row is a channel. A channel contains cards for every program available on that channel. The Watch Next channel is the second row that appears in the home screen, after the apps row. The system creates and maintains this channel. Your app can add programs to the Watch Next channel.

SmartBox home menu

Libraries

TVs by definition are quite limited devices when it comes to hardware. They lack many functions that mobile devices have like recording sound. So smart-tv boxes running on a regular Android are just mobile versions stripped off some things. Compared to the AndroidTV system they allow for regular non-tv specific apps to be installed. This is a quite significant advantages over AndroidTV. On the other hand they lack AndroidTV specific libraries i.e. Tv Input Framework, The Android TV Input Framework (TIF) simplifies delivery of live content to Android TV. The Android TIF provides a standard API for manufacturers to create input modules for controlling Android TV, and enables live TV search and recommendations via metadata published by the TV Input. framework makes it easier for device manufacturers to meet regional digital TV broadcast standards without re-implementation.

--

--