Ich versuche, das Cast-Symbol auf dem ActionBar hinzuzufügen, um die Hilfsmethode des CastCompanionLibrary mit:Hinzufügen von Guss Taste ActionBar die CastCompanionLibrary mit
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
mDataCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item); // This one
return true;
}
ich dies als meine menu.xml haben, wie durch die PDF angegeben, das ist im Lieferumfang der Begleitbibliothek enthalten:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/media_route_menu_item"
android:title="@string/media_route_menu_title"
app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
app:showAsAction="always"/>
</menu>
In der ActionBar wird jedoch nichts angezeigt. Es werden keine Fehler angezeigt, nichts ist sichtbar. Wenn ich einen anderen Menüeintrag hinzufüge, nur um zu sehen, ob alles mit meinem Menü richtig eingerichtet ist, erscheint dieses Element gut - es ist nur dieser Cast-Action-Menüpunkt, der nicht angezeigt wird.
Ich habe versucht, die "App" Präfixe zu "Android" zu ändern, aber dann bekomme ich eine NullPointerException
irgendwo tief in der Bibliothek, und ich habe versucht, den Menüpunkt ein anderes, sichtbares Symbol. Nichts hilft.
In AndroidStudio zeigt die Menüvorschau einen Menüeintrag mit dem Titel "Play on ..." an. Es scheint also so zu sein.
Was mache ich falsch?
Gibt es irgendwelche verfügbaren Routen neu starten? Ich habe 'MediaRouteActionProvider' noch nicht benutzt (es ist auf meiner kurzen Liste ...), daher kenne ich sein Verhalten nicht. Es kann jedoch sein, dass es nur angezeigt wird, wenn eine Route erkannt wurde, und bis zu diesem Zeitpunkt verschwunden ist. – CommonsWare
Das gleiche Problem erschien. Ich habe alles nach dem Handbuch gemacht, aber Cast Menü erscheint nie. Selbst in der einfachsten Anwendung. Aber alles funktioniert in Extras \ google \ google_play_services \ samples \ cast \ demoastplayer Beispiel.Kein Glück, die Ursache herauszufinden? – I4004
Endlich habe ich meinen Fall gelöst. Der Schuldige war meine Bewerbungsnummer. Aus irgendeinem Grund lehnt mein Chromecast es ab. Ich konnte das Cast-Symbol mithilfe von CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID anzeigen. Offensichtlich ist es falsch, aber mein Ziel war ein Proof of Concept. – I4004