#android #android-tv
#Android #android-телевизор
Вопрос:
Я создал приложение, которое работает как на мобильных устройствах, так и на телевизорах. Оно отлично работает при отладке или когда я загружаю его apk на телевизор, но когда оно было загружено в play Store, в нем говорится, что оно несовместимо с TV, я отправил сообщение в службу поддержки, и они сказали, что оно не поддерживает TV, хотя я все сделал в документах
Вот мои манифесты:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sedra.universeiptv">
<uses-feature android:name="android.hardware.touchscreen"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature
android:name="android.software.leanback"
android:required="false" />
<application
android:allowBackup="true"
android:banner="@drawable/banner"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="false"
android:theme="@style/Theme.UniverseIPTV"
android:usesCleartextTraffic="true">
<activity android:name=".view.activity.tvactivity.SeriesDetailsForTv"/>
<activity android:name=".view.activity.tvactivity.TvLiveOnTvActivity" />
<service
android:name=".FirebaseMS"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<activity
android:name=".view.activity.MainActivity"
android:configChanges="orientation"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".view.activity.SeriesDetailsActivity" />
<activity android:name=".view.activity.MovieDetailsActivity" />
<activity
android:name=".view.activity.PlayVideoActivity"
android:configChanges="orientation|keyboard|keyboardHidden|navigation"
android:screenOrientation="landscape" />
<activity
android:name=".view.activity.tvactivity.TvMainActivity"
android:configChanges="orientation"
android:banner="@drawable/banner"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Ответ №1:
Похоже, в вашем коде нет «темы», установленной для намерения запуска для вашей активности.
Кроме того, если вы не включили фильтр намерений CATEGORY_LEANBACK_LAUNCHER в свое приложение, он не будет виден пользователям, использующим Google Play на телевизионных устройствах. Кроме того, если в вашем приложении нет этого фильтра, когда вы используете инструменты разработчика для его загрузки на телевизионное устройство, приложение не отображается в пользовательском интерфейсе телевизора.
<activity
android:name="com.example.android.TvActivity"
android:label="@string/app_name"
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>
Ознакомьтесь с документацией здесь
Комментарии:
1. в моем манифесте уже есть этот фильтр <activity android:name=».view.activity.tvactivity . TvMainActivity» android: configChanges=»ориентация» android: баннер =»@drawable / баннер» android: Ориентация экрана =»пейзаж»> <фильтр намерений> <действие android: name=»android.intent.action. ГЛАВНАЯ» /> <категория android:name=»android.intent.category. LEANBACK_LAUNCHER» /> </intent-filter> </activity>
2. Похоже, вы используете приведенную ниже тему. Можете ли вы уточнить, что оно расширяет. Можете ли вы попробовать вместо этого использовать тему leanback? [ android:theme=»@style / Theme. UniverseIPTV» ]