2016-09-20 2 views
1

Я создал приложение Android TV с помощью Unity3D и пытаюсь написать правильный манифест андроида.Android Manifest для Android TV - слишком мало устройств поддерживаются?

Я хочу, чтобы мое приложение отображалось как можно больше устройств Android TV, но не на смартфонах и планшетах.

В документации сказано:

Заявляют, что ваше приложение использует пользовательский интерфейс Leanback необходимую для Android TV. Если вы разрабатываете приложение, работающее на мобильных устройствах (телефоны, носилки, планшеты и т. Д.), А также Android TV, установите для требуемого значения атрибута значение false. Если вы установите для требуемого значения атрибута значение true, ваше приложение будет работать только на устройствах, которые используют интерфейс Leanback.

Таким образом, я установил, чтобы в моем манифесте был установлен недостаток, необходимый для истины. Это уменьшает количество устройств, к которым приложение будет запущено до 40, и не включает в себя мое собственное тестовое устройство (например, Sony Bravia KDL 55W805C). Для устройств Sony Bravia это, по-видимому, включает в себя модели 4K, которые намного более ограничены, чем необходимо.

Я ошибаюсь, полагая, что все Android-телевизоры используют интерфейс Leanback?
Что мне нужно добавить/удалить из моего манифеста, чтобы приложение было доступно на любом Android-устройстве Android, без возможности использования смартфонов или планшетов?

Вот весь манифест, в том случае, проблема заключается в другом месте:

<?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

Откуда вы знаете, что Sony Bravia не входит в список из 40? Также вы можете обратиться к [этой записи SO] (http://stackoverflow.com/a/37724735/1759443). –

+0

Поскольку список сортируется по производителю и есть только две Sony Bravia в списке, но не тот, который у меня есть. С тех пор я обнаружил, что список устройств не является точным: другое приложение, запущенное моей компанией, также содержит только сорок устройств, но загружается на устройствах, которых нет в списке. – Alice

ответ

1

список SONY ТВ в консоли разработчика немного вводит в заблуждение, но вы можете в основном рассматривают его как: «BRAVIA 4K - SVP-DTV15» = [Все модели 2K/4K 2015]. «BRAVIA 4K GB - BRAVIA_ATV2» = [Все модели 2K/4K 2016+]. Подробнее см. Здесь: https://developer.sony.com/develop/tvs/android-tv/

0

У меня была такая же проблема. Я снял с Manifest разрешения на RECORD_AUDIO и добавил только эти:

<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"/> 

Теперь он поддерживает более 40 телевизионных линий с Android TV.

Смежные вопросы