2017-01-23 135 views
1

我正在關注code lab tutorialChromecast按鈕在Android中不可見

我的搖籃文件看起來像這樣

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

這是我CastOptionsProvider類

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

這是菜單的xml文件

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

而且這是在MainActivity我OnCreateOptionsMenu方法

@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; 
} 

而這個清單文件

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

我按照代碼實驗室教程,其具體形式,複製並同時改變其需要改變的那些變量粘貼的一切。 我的應用程序和chromecast設備連接到同一個網絡。 Chromecast按鈕會顯示在Youtube應用中,但不會顯示在我的應用中。我錯過了什麼? 感謝

+0

看到你的鏈接tutorial.at最後筆記 –

+0

記住,你需要重複這些步驟,以在項目的所有活動添加演員按鈕.....這條線是在給定鏈路在最後寫...你在所有的活動中都做過...? –

+0

我已經在每個活動 – theanilpaudel

回答

-1

你缺少這裏

 <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

我們是否必須明確提供它? – theanilpaudel

+0

是的,你必須添加圖標屬性 – Harmantj

1

如果一切都處理得當,您只需要重新啓動投設備(它不與您的APP_ID未經登記後重啓工作)。

0

如果您的應用程序ID正確且狀態爲已發佈,請登錄Google Cast SDK Developer Console

發佈您的應用程序ID時,請重新啓動您的Chromecast設備。

出於測試目的,你可以使用CC1AD845或4F8B3483作爲應用程序ID。這些來自Google示例應用程序。