Android TV no está iniciando LAUNCH_LEANBACK Actividad

Quiero crear un solo apk que sea compatible con el móvil y la televisión. Según tengo entendido, debo especificar la actividad del lanzador para ambas plataformas en el manifiesto, una para móviles con <category android:name="android.intent.category.LAUNCHER" /> , otra para TV con <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> intent filter . Y Android debería elegir automáticamente la actividad correcta al lanzar, dependiendo de la plataforma, ¿verdad? ¿O debo agregar algún código java e iniciar mi actividad de TV desde el código? Actualmente se inicia mi actividad móvil cuando se utiliza el emulador de TV de Android. A continuación se muestra mi archivo de manifiesto:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.mypackagename" android:versionCode="142" android:versionName="2.0.142" > <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-feature android:name="android.hardware.microphone" android:required="false" /> <uses-feature android:name="android.hardware.bluetooth" android:required="false" /> <!-- TV --> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.software.leanback" android:required="false" /> <application android:name="com.mypackagename.App" android:allowBackup="true" android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" tools:replace="android:icon" android:label="@string/app_name" android:banner="@drawable/ic_launcher" android:largeHeap="true" android:supportsRtl="false" android:theme="@style/AppTheme" > <activity android:name="com.mypackagenametv.MainTVActivity" android:theme="@style/TVAppTheme" android:label="@string/app_name" android:logo="@drawable/ic_launcher" android:screenOrientation="landscape" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.mypackagenametv.PlayerActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> <activity android:name="com.mypackagenametv.DetailsActivity" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.mypackagename.ui.activities.MainActivity" android:label="@string/app_name" android:launchMode="singleTask" android:screenOrientation="sensorLandscape" android:windowSoftInputMode="stateHidden|adjustResize|adjustPan" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> </activity> <activity android:name="com.mypackagename.ui.activities.SplashActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:label="@string/app_name" android:screenOrientation="sensorLandscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> .... other activities </application> </manifest> 

Resuelto

Mi actividad para móviles se especificó explícitamente en Ejecutar configuraciones como lanzador. Después de que fijé la actividad por defecto del lanzamiento todo trabaja muy bien.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.