2017-01-23 6 views
1

Ich bin der code lab tutorial folgen.Chromecast-Taste nicht sichtbar in Android

Meine Gradle Datei sieht wie folgt aus

dependencies { 
compile 'com.android.support:appcompat-v7:25.0.0' 
compile 'com.android.support:mediarouter-v7:25.0.0'} 

Das ist mein CastOptionsProvider Klasse ist

public class CastOptionsProvider implements OptionsProvider { 
@Override 
public CastOptions getCastOptions(Context context) { 
    return new CastOptions.Builder() 
      .setReceiverApplicationId(context.getString(R.string.chromecast_app_id)) 
      .build(); 
} 

@Override 
public List<SessionProvider> getAdditionalSessionProviders(Context context) { 
    return null; 
}} 

Dies ist das Menü XML-Datei

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools"> 

<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> 

Und das ist mein OnCreateOptionsMenu Methode in MainActivity

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    getMenuInflater().inflate(R.menu.navigation_drawer, menu); 
    mediaRouteMenuItem = CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), menu, R.id.media_route_menu_item); 
    return true; 
} 

Und dies in der Manifest-Datei

<meta-data 
     android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" 
     android:value="com.mypackage.CastOptionsProvider" /> 

ich das Code-Lab Tutorial seine genaue Form gefolgt sind, kopieren und alles klebte während die Variable zu ändern, die geändert werden muss. Meine Anwendung und das Chromecast-Gerät sind mit demselben Netzwerk verbunden. Die Chromecast-Schaltfläche wird in der Youtube-App, aber nicht in meiner App angezeigt. Was vermisse ich ? Dank

+0

siehe in Ihrem linked tutorial.at letzte Notizen –

+0

Denken Sie daran, dass Sie diese Schritte wiederholen müssen, um den Cast-Button in ALLEN Aktivitäten Ihres Projekts hinzuzufügen ... Diese Zeile ist endlich in Ihrem gegebenen Link schreiben ... Du hast es bei allen Aktivitäten gemacht ..? –

+0

Ich habe dies in jeder Aktivität getan – theanilpaudel

Antwort

1

hier fehlen Es könnte eine ungültige app_id sein.

Sie könnten versuchen, Ihre String-Ressource chromecast_app_id durch den Wert der Zeichenfolge app_id aus dem Beispielprojekt zu ersetzen.

(Im Moment ist es 4F8B3483. Siehe: https://github.com/googlecast/CastVideos-android/blob/master/res/values/strings.xml).

Ob Sie es glauben oder nicht, das Wechseln zu diesem Wert hat das Cast-Icon in meiner App sichtbar gemacht.

-1

Sie Attribut icon

 <menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools"> 

<item 
    android:id="@+id/media_route_menu_item" 
    android:title="@string/media_route_menu_title" 
    android:icon="@drawable/chromebutton" app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider" 
    app:showAsAction="always" /></menu> 
+0

Müssen wir es explizit bereitstellen? – theanilpaudel

+0

yes.you müssen Symbolattribut hinzufügen – Harmantj

1

Wenn alles ordnungsgemäß ausgeführt wurde, müssen Sie das Cast-Gerät neu starten (es funktioniert nicht mit Ihrer App-ID, ohne nach der Registrierung neu gestartet zu werden).

0

Einchecken in Google Cast SDK Developer Console, wenn Ihre Anwendungs-ID korrekt ist und der Status veröffentlicht wird.

Wenn Sie Ihre Anwendungs-ID veröffentlichen, starten Sie Ihr Chromecast-Gerät neu.

Zu Testzwecken können Sie CC1AD845 oder 4F8B3483 als Anwendungs-ID verwenden. Diese stammen aus Google-Beispiel-Apps.

Verwandte Themen