2015-03-30 17 views
7

Ho un'app che dovrebbe funzionare sia sul telefono che sulla TV. Nel manifesto, sto specificando l'attività di lancio del telefono conAndroid TV non avvia l'attività corretta

<activity 
    android:name=".view.phone.MainActivity" 
    android:launchMode="singleTop" 
    android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
</activity> 

e l'attività di lancio del televisore con

<activity 
    android:name=".view.leanback.MainActivity" 
    android:launchMode="singleTop" 
    android:label="@string/app_name" 
    android:screenOrientation="landscape" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> 
    </intent-filter> 
</activity> 

Invece di filtraggio tra LAUNCHER & LEANBACK_LAUNCHER, su entrambi i dispositivi si va solo con qualsiasi attività è dichiarato per primo nel manifest. Qualche idea su cosa sto facendo male?

+0

Avete nel manifest? –

+1

Ho il seguente nel mio manifest per supporto leanback:

+0

come stai testando la tua app? Sull'emulatore o sulla TV attuale? – random

risposta

3

soluzione per me era quello di creare 2 configurazione di avvio in questo modo:

new configurations

How to configure

0

Si sta utilizzando la stessa denominazione di attività MainActivity per chiamare sia la TV che l'app del telefono. Cambia uno di questi nomi e dovresti essere a posto. Come mostrato nel documento here nel primo passaggio, il nome dell'attività per la TV dovrebbe essere diverso dal nome dell'attività per l'app del telefono.

+1

grazie per il suggerimento, purtroppo questo non fa la differenza –

+0

Ci scusiamo per questo. Puoi condividere più parti del tuo manifest per vedere cosa potrebbe andare storto? Nient'altro sembra sbagliato da quello che vedo. – pointNclick