2014-03-05 3 views
1

크롬 캐스트 앱을 개발 중이며 기본 단계에 머물러 있습니다. Chrome Cast 용 GUI와 관련하여 인터넷에서 몇 가지 예를 살펴 보겠습니다. 캐스트를 시작하기로되어있는 버튼 (처음에는 장치 선택)은 일반적으로 작업 표시 줄에 있습니다. R.id.media_route_menu_itemAndroid 크롬 전송 버튼

<?xml version="1.0" encoding="utf-8"?> 
<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> 

에 대한

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    getMenuInflater().inflate(R.menu.main, menu); 
    mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item); 

    return true; 
} 

및 XML을 당신이 두번째 부분에서 볼 수 있듯이 :

app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider" 

가 크롬 캐스트 장치를 시작합니다 추가되는 방법입니다 선택. 나는 행동 바에서 메뉴 요소를 이동하고 동일한 작업을 수행하는 버튼을 만들어야합니다. 문제는 내가 할 수 없다는 것입니다.

actionProviderClass는 메뉴 항목으로 작업 할 준비가되어 있기 때문에 작동하지 않습니다. 버튼을 사용하여 문제를 해결하는 방법에 대한 아이디어는 고맙겠습니다.

답변

0

Google의 GitHub 저장소에서 sample을 확인하십시오.이를 위해 세 가지 방법을 제시합니다. 문제를 해결 한 후에도 궁금한 사항이 있으면 다시 방문하십시오. 도움을 줄 수있는 방법을 찾아 보겠습니다.

+0

당신의 도움을 위해서 – basta

+0

안녕하세요, 샘플 MediaRouterButtonActivity는 FragmentAc를 사용할 때 훌륭하게 작동합니다. 그러나 프래그먼트에서 MediaRouter.Callback을 사용할 때 onRouteAdded 메소드는 거의 트리거되지 않습니다. 어떤 생각을 대신 조각에 사용할 수 있도록 fragment를 입력 할 때 mediaRouteButton을 표시하도록 설정할 수 있습니까? – Jaz

+0

FragmentActivity는 MediaRoute 지원 라이브러리에 의해 시행되는 요구 사항입니다. 어떤 유형의 활동이 조각을 보유하고 있습니까? –

2

당신은 너무처럼 MediaRouteButton를 사용할 수 있습니다

XML 
<android.support.v7.app.MediaRouteButton 
android:id="@+id/media_route_button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/> 

자바를

MediaRouteButton mediaRouteButton = MediaRouteButton) findViewById(R.id.media_route_button); 
mediaRouteButton.setRouteSelector(your_selector); 
+0

감사합니다. 내 XML 파일에 일반 버튼 유형을 사용하고있었습니다. 단추 유형을 MediaRouteButton으로 변경 한 후 효과가있었습니다! – Andy

0

바로 이것이 당신이 Tollbar를 사용하는 경우 당신은 당신의 활동에 필요하다 실바의 답변을 완료 :

MediaRouteButton mediaRouteButton = (MediaRouteButton) mToolbar.findViewById(R.id.mediaRouteMenuItem); 
// mediaRouteButton.setRouteSelector(MediaRouteSelector.EMPTY); 
CastButtonFactory.setUpMediaRouteButton(this, mediaRouteButton);