getLaunchIntentForPackage ist für einige Apps ungültig

8

Ich erstelle einen Dienst, der eine Liste installierter Apps von einem Android TV oder Fire TV an ein Mobiltelefon sendet. Das Telefon sendet dann den Paketnamen der App, die gestartet werden soll, und der Dienst startet sie.

Dies ist der Code, der die Liste erstellt

%Vor%

So starte ich die Apps

%Vor%

Auf dem Fire TV funktioniert alles perfekt, aber auf dem Android TV ist die Absicht für viele Apps immer null. Dies sind nur ein paar.

  • com.haystack.android
  • com.netflix.ninja
  • tv.pluto.android
  • com.bamnetworks.mlbtv

Aber mit dem gleichen Code funktionieren diese Apps gut.

  • com.hulu.livingroomplus
  • com.sling
  • com.frogmind.badland
  • com.songza.tv

Könnte jemand irgendeinen Einblick geben, was ich falsch machen könnte?

Danke!

BEARBEITEN: Ich habe das auch versucht und ich bekomme die Ausnahme

android.content.ActivityNotFoundException: Keine Aktivität zum Behandeln der Absicht {cat = [android.intent.category.LEANBACK_LAUNCHER] flg = 0x10000000 pkg = com.netflix.ninja}

%Vor%

EDIT 2:

Dies ist der Code, der für mich funktioniert:

%Vor%     
Jeremy Roberts 25.05.2015, 21:10
quelle

2 Antworten

7

Um einen Launcher im Startbildschirm-Stil zu erstellen, suchen Sie nicht nach Apps und versuchen dann, Launch Intents für jeden zu starten. Suchen Sie nach abschießbaren Aktivitäten, indem Sie queryIntentActivities() für PackageManager verwenden.

Zum Beispiel implementiert diese Aktivität (aus diesem Beispielprojekt ) einen Startbildschirm -Stil-Launcher mit dieser Technik:

%Vor%

Auf einem Android-TV-Gerät sollten Sie auch nach LEANBACK_LAUNCHER -Aktivitäten suchen, da dies von Android TV verwendet wird und TV-spezifische APKs möglicherweise keine reguläre LAUNCHER -Aktivität haben oder im besten Fall eine, die nicht unbedingt erforderlich ist ideal für den Einsatz auf einem Fernseher.

    
CommonsWare 25.05.2015, 22:06
quelle
0
%Vor%     
Peter 26.05.2015 17:34
quelle