2016-09-20 3 views
1

Ich habe eine Android TV App mit Unity3D erstellt und versuche ein korrektes Android Manifest zu schreiben.Android-Manifest nur für Android TV - zu wenige Geräte unterstützt?

Ich möchte, dass meine App auf so vielen Android TV-Geräten wie möglich angezeigt wird, aber nicht auf Smartphones und Tablets.

Die Dokumentation sagt:

Declare, die Ihre App die Leanback Benutzeroberfläche von Android TV erforderlich verwendet. Wenn Sie eine App entwickeln, die auf Mobilgeräten (Smartphones, Wearables, Tablets usw.) sowie Android TV ausgeführt wird, legen Sie den erforderlichen Attributwert auf false fest. Wenn Sie den erforderlichen Attributwert auf "true" festlegen, wird Ihre App nur auf Geräten ausgeführt, die die Leanback-Benutzeroberfläche verwenden.

Also ich leanback erforderlich in meinem Manifest wahr. Dies reduziert die Anzahl der Geräte, auf denen meine App gestartet wird auf 40, und beinhaltet kein eigenes Testgerät (z. B. eine Sony Bravia KDL 55W805C). Für Sony Bravia-Geräte scheint es nur 4K-Modelle zu enthalten, die viel eingeschränkter als nötig sind.

Bin ich falsch bei der Annahme, dass alle Android-TVs Leanback UI verwenden?
Was müsste ich zu meinem Manifest hinzufügen/entfernen, damit die App auf so vielen Android TV-Geräten wie möglich verfügbar ist, ohne Smartphones oder Tablets?

Hier ist das gesamte Manifest, falls das Problem woanders liegt:

<?xml version="1.0" encoding="utf-8"?> 
<manifest 
xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.unity3d.player" 
android:installLocation="preferExternal" 
android:versionCode="1" 
android:versionName="1.0"> 
<uses-feature 
    android:name="android.hardware.touchscreen" 
    android:required="false" /> 
<uses-feature 
    android:name="android.software.leanback" 
    android:required="true" /> 
<supports-screens 
    android:smallScreens="false" 
    android:normalScreens="false" 
    android:largeScreens="true" 
    android:xlargeScreens="true" 
    android:requiresSmallestWidthDp="600" /> 

<application 
    android:theme="@style/UnityThemeSelector" 
    android:icon="@drawable/app_icon" 
    android:label="@string/app_name" 
    android:debuggable="true"> 
    <activity 
      android:name="com.unity3d.player.UnityPlayerActivity" 
      android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> 
     <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> 
    </activity> 
</application> 

+0

Woher wissen Sie, dass die Sony Bravia nicht in dieser 40er Liste enthalten ist? Vielleicht möchten Sie auch auf [diese SO-Post] (http://stackoverflow.com/a/37724735/1759443) verweisen. –

+0

Da die Liste nach Hersteller sortiert ist und es nur zwei Sony Bravia auf der Liste gibt, aber nicht die, die ich habe. Ich habe aber inzwischen festgestellt, dass die Liste der Geräte nicht stimmt: Eine andere App, die mein Unternehmen gestartet hat, listet auch nur vierzig Geräte auf, kann aber auf Geräte heruntergeladen werden, die nicht auf der Liste stehen. – Alice

Antwort

1

Die SONY TV-Liste in der Entwicklerkonsole ein wenig irreführend ist, aber man kann es im Grunde sehen, wie: "BRAVIA 4K - SVP-DTV15" = [Alle 2K/4K Modelle 2015]. "BRAVIA 4K GB - BRAVIA_ATV2" = [Alle 2K/4K Modelle ab 2016]. Sehen Sie mehr hier: https://developer.sony.com/develop/tvs/android-tv/

0

Ich hatte das gleiche Problem. Ich entfernte von Manifest Erlaubnis RECORD_AUDIO und hinzugefügt nur diese:

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

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

Jetzt ist es mehr als 40 TV-Linien mit Android TV unterstützt.

Verwandte Themen