2017-01-23 5 views
1

Я следую за code lab tutorial.Кнопка Chromecast не отображается в android

Мой Gradle файл выглядит следующим образом

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> 

И это мой метод OnCreateOptionsMenu в 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; 
} 

И это в файле манифеста

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

я следовал codelab учебник для его точной формы, копировать и вставить все, изменяя те переменные, которые необходимо изменить. Мое приложение и устройство хромирования подключены к одной сети. Кнопка Chromecast отображается в приложении Youtube, но не в моем приложении. Что мне не хватает? Благодаря

+0

см. В связанных ссылках. Последние примечания –

+0

Помните, что вам нужно повторить эти шаги, чтобы добавить кнопку Cast во ВСЕХ действиях вашего проекта ..... Эта строка, наконец, записывается в вашей данной ссылке ... Вы сделали это во всех видах деятельности ..? –

+0

Я сделал это во всех действиях – theanilpaudel

ответ

1

Это может быть недействительным app_id.

Возможно, вы попытаетесь заменить свой собственный ресурс chromecast_app_id строковым ресурсом app_id из образца проекта.

(Прямо сейчас, это 4F8B3483. См.: https://github.com/googlecast/CastVideos-android/blob/master/res/values/strings.xml).

Верьте или нет, переключение на это значение показало личный значок в моем приложении.

-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

yes.you нужно добавить атрибут значка – Harmantj

1

Если все сделано правильно, вам просто нужно перезапустить литое устройство (оно не работает с вашим app_id без перезапуска после регистрации).

0

Заезд Google Cast SDK Developer Console, если ваш Идентификатор заявки верен и статус опубликован.

При публикации вашего идентификатора приложения перезапустите устройство Chromecast.

Для целей тестирования вы можете использовать CC1AD845 или 4F8B3483 в качестве идентификатора приложения. Это примеры приложений Google.

Смежные вопросы