Vijay Sharma
Vijay Sharma

Reputation: 70

Unsupported hardware uses: Android TV app rejection

We currently have an app in the Android that we're trying to add to the Android TV app store. It seems to be continually reject for what I believe is an ambiguous reason. You can see the screenshot below. The link given in the email points to this.

App rejection email

Our manifest:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-feature android:name="android.software.leanback" android:required="true"/>
<uses-feature android:name="android.hardware.faketouch" android:required="false"/>
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.nfc" android:required="false"/>
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
<uses-feature android:name="android.hardware.microphone" android:required="false"/>
<uses-feature android:name="android.hardware.sensor" android:required="false"/>

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="19"/>

<application
    android:icon="@drawable/ic_launcher"
    android:theme="@android:style/Theme.NoTitleBar"
    android:banner="@drawable/testfairybanner"
    android:label="@string/app_name">
    <activity
        android:name="com.testfairy.app.MobileMainActivity"
        android:theme="@android:style/Theme.NoTitleBar"
        android:screenOrientation="portrait"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

    <activity
        android:name=".TvMainActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:theme="@style/Theme.Leanback">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
        </intent-filter>
    </activity>

    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="${applicationId}.provider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/provider_paths"/>
    </provider>

    <service android:name=".AccountAuthenticatorService" android:exported="true" android:process=":auth">
        <intent-filter>
            <action android:name="android.accounts.AccountAuthenticator" />
        </intent-filter>
        <meta-data android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator" />
    </service>
</application>

As far as I can tell, I've addressed all the requirements needed for Android TV, however, the app continues to get rejected. If anyone has had this problem and has fixed it, I'd really love to know how you got around it.

Upvotes: 1

Views: 799

Answers (1)

Okas
Okas

Reputation: 2674

Add to your manifest:

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

If you look carefully this is actually mentioned on the page you were directed to. For some reason this line is missing from example provided on the same page.

Upvotes: 2

Related Questions