Google TV

Feature Support in Google TV

  1. Supported Hardware Features
  2. Supported Software Features
  3. Unavailable Features
    1. Touchscreen support
    2. Native Development Kit (NDK)
    3. Unsupported hardware
    4. Unsupported software
  4. Checking for features

This topic describes Google TV hardware and software support for the Android platform. The support includes some features that are also found on mobile devices, as well as some features that are specific to Google TV. Notice that Google TV does not support some hardware and software features that are found on most mobile devices.

Supported Hardware Features

The Google TV Android platform supports these hardware features:

Table 1. Android features by the Google TV platform
Feature description Feature descriptor*
*The value of the android:name attribute in the <uses-feature> element.
Location android.hardware.location
android.hardware.location.network
USB (host) android.hardware.usb.host
WiFi android.hardware.wifi

Supported Software Features

The following Android software features were not available in previous versions, but are now available:

  • OpenGL for Java (android.opengl.GLES20 and other OpenGL ES 2.0-compatible classes).
  • Application Widgets are miniature application views that can be embedded in GoogleTV Home Screen.
  • System feature com.google.android.tv

    Google TV includes the system feature com.google.android.tv. This feature is unique to the Google TV platform, and indicates to applications that Android is running on a Google TV device. The following code snippet demonstrates how to detect the feature using PackageManager:

    if (getPackageManager().hasSystemFeature("com.google.android.tv")) {
        Log.d("TV Test", "Running on Google TV!");
    }

Unavailable Features

Google TV devices do not support some features that may be available on other devices.

Unsupported features are listed in the following sections.

Touchscreen support

Google TV does not support touchscreen.

Caution: By default, the Google Play Store assumes that an application requires full touchscreen support. If you want your application to appear in the Google Play Store for Google TV devices, you must specify in your manifest file (AndroidManifest.xml) that your application does not require full touchscreen support. To do this, add the following element specification exactly as it appears:

    <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>

In effect, this specification tells the Google Play Store to ignore the touchscreen requirement when filtering applications.

Faketouch support

Google TV does not support the android.hardware.faketouch feature. The feature is designed for devices that emulate true touchscreen functionality. Google TV uses D-pad and mouse navigation, which provide a type of control that is substantially different from touchscreen control.

If you specify <uses-feature android:name="android.hardware.faketouch" android:required="true"/>, your application will not appear in the Google Play Store for Google TV. Since the default value of android:required is "false", you can either leave out the attribute or specify android:required="false" to make the Google Play Store ignore the faketouch requirement.

Native Development Kit (NDK)

No versions of the Android NDK are supported on the Google TV platform. This also applies to x86 versions of the NDK or individual NDK modifications.

Unsupported hardware

Table 2 lists the Android features that are not supported for the Google TV platform, along with their related permissions.

Table 2. Android features unsupported by the Google TV platform
Hardware Feature(s) Feature descriptor*
*The value of the android:name attribute in the <uses-feature> element.
**Google TV devices may use non-Bluetooth wireless keyboards.
Bluetooth
  • A2DP
  • wireless keyboard**
android.hardware.bluetooth
Camera   android.hardware.camera
android.hardware.camera.autofocus
android.hardware.camera.flash
android.hardware.camera.front
Location (GPS) Geolocation is much less useful for a Google TV device than for a mobile device. Users prefer to search for a location of interest rather than look around their current location. For an example of handling the two preferences in a single application, see the topic Migrating Existing Applications. android.hardware.location.gps
Microphone   android.hardware.microphone
Near-Field Communications(NFC)   android.hardware.nfc
Sensors
  • Orientation
  • Movement
  • Automatic screen brightness
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.light
android.hardware.sensor.proximity
Telephony
  • Phone dialing
  • SMS
  • Cell-based data (for example, 3G)
android.hardware.telephony
android.hardware.telephony.cdma
android.hardware.telephony.gsm
Touchscreen

 

android.hardware.faketouch
android.hardware.touchscreen
android.hardware.touchscreen.multitouch
android.hardware.touchscreen.multitouch.distinct
android.hardware.touchscreen.multitouch.jazzhand

Unsupported software

The following Android software features are not supported in the Google TV platform:

  • SIP/VOIP (android.software.sip).

Checking for features

Based on the features your application needs, you can show or hide it in the Google Play Store, prevent it or allow it to install to a Google TV device, and detect its requirements at runtime. Which action you take depends on how useful your application would be on Google TV. The following XML elements and code help you control how your application appears to users:

  1. To prevent a Google TV-only application from displaying in the Google Play Store running on a device other than Google TV, use the <uses-feature> element and specify the feature com.google.android.tv. The exact syntax is:
        <uses-feature android:name="com.google.android.tv" android:required="true"/>
    
  2. You can use elements in the Android manifest file (AndroidManifest.xml) to trigger Google Play Store filters. Please read the topic Android Manifest Reference to learn more about using manifest elements and the Google Play Store filters. You can also refer to the topic Filters on Google Play in the Android Developers Guide to learn how Google Play Store filters work for all devices.
  3. The Android Package Manager checks all of the <uses-feature> elements in AndroidManifest.xml. For Google TV, if a <uses-feature> element contains a feature that is unsupported on Google TV, and the element contains the attribute setting android:required="true", then Package Manager will not install the application on Google TV.

    For example, using

    <uses-feature android:name="android.hardware.touchscreen" android:required="true">
    in your manifest will prevent your application from installing on a Google TV device, because Google TV does not support android.hardware.touchscreen.

    The Google Play Store assumes that an application requires touchscreen support unless the manifest file says otherwise. This means that if you don't specify <uses-feature android:name="android.hardware.touchscreen" android:required="false"/> for touchscreen, your application won't appear in the Google Play Store. To learn more about this, please read the section "Touchscreen support" in the topic Feature Support in Google TV.

  4. To check for a feature at runtime, call PackageManager.hasSystemFeature(). The method takes a single argument, a string corresponding to the feature you want to check. For example, to test for a touchscreen, use hasSystemFeature() with the argument FEATURE_TOUCHSCREEN.

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.