Search code examples
androidandroid-studioandroid-tvamazon-fire-tv

Why is my channel image not showing on my AndroidTV/FireTV app?


I have an AndroidTV/FireStick project in Android Studio, and I have my ic_banner.png in the associated drawable folders (per documentation). However, on FireStick, the channel icon shows my app icon (1:1 instead of 16:9). How do I fix this? Here is my manifest file:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="private">

    <uses-permission android:name="android.permission.INTERNET" />

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

    <application
        android:allowBackup="true"
        android:screenOrientation="landscape"
        android:banner="@drawable/ic_banner"
        android:hardwareAccelerated="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/Theme">
        <activity
            android:name=".ui.host.hostdetail.HostDetailActivity"
            android:exported="true" />
        <activity
            android:name=".ui.DeviceLinkActivity"
            android:exported="true" />
        <activity
            android:name=".ui.SplashActivity"
            android:exported="true"
            android:noHistory="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ui.MainActivity"
            android:exported="true" />
        <activity
            android:name=".ui.VideoPlayerActivity"
            android:exported="true" />
    </application>

</manifest>

My ic_banner.xml file:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@color/ic_banner_background"/>
    <foreground android:drawable="@drawable/ic_banner_foreground"
        android:gravity="center"
    />
</adaptive-icon>

Is it just because I'm sideloading via Android Studio? I just don't want to push it until I get it fixed. I've tried putting it in the mipmap folder, and nothing. It falls back to the ic_launcher icon centered in the 16:9 rectangle no matter what, and it looks AWFUL. Is there something I'm missing?

These icons are what I'm referring to. enter image description here


Solution

  • It seems that specifying the banner you are referring, is part of the app submission to the Appstore and Fire TV does not use the banner specified in the app manifest. So It comes from Amazon Appstore and you may not be able to test it before submitting the app to the store.