Google Play 서비스의 이전 버전과 호환되지 않는 (충돌) 최신 Cast SDK가 변경되었습니다. 불행히도 구형 GPS (또는 에뮬레이터)가있는 최신 Cast SDK를 사용할 때 샘플 앱 충돌이 발생합니다. 여기에서 문제를 논의했습니다. https://github.com/googlecast/CastVideos-android/issues/12
해결 방법은 미니 컨트롤러를 비롯한 모든 전송 구성 요소를 초기화하기 전에 Google Play 서비스 버전을 확인하는 것입니다 (예 : 미니 컨트롤러 조각을 XML 레이아웃 파일에 넣을 수 없음). 동적으로 팽창시켜야하거나, 미니 컨트롤러가없는 레이아웃 파일 하나와 미니 컨트롤러가없는 레이아웃 파일 두 가지가 있어야합니다. 결과가 ConnectionResult.SUCCESS
없는 경우 MiniControllerFragment
를 초기화하지 않는,
GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
int resultCode = apiAvailability.isGooglePlayServicesAvailable(context);
isGPSAvailable = (resultCode == ConnectionResult.SUCCESS);
및 CastContext
에 액세스하지 않습니다
코드는 GPS 버전을 확인합니다. 이 new MiniControllerFragment()
를 사용하여 MiniControllerFragment
을 인스턴스화 할 수 하지 것을
또한 염두에 두시기 바랍니다. 당신은 xml에서 그것을 부풀려 야하거나 NullPointerException
을 얻을 것이다.
별도의 XML 레이아웃 파일을 생성하고 Activity.onCreate
에 적합한 하나를 부풀려 : MiniControllerFragment
가리키는 레이아웃에 ViewStub
만들기
setContentView(isGPSAvailable ? R.layout.activity_main_with_controller : R.layout.activity_main_without_controller);
및 팽창 MiniControllerFragment
을 팽창하는 방법은 두 가지가 있습니다
그것은 단지 당신이 놀이 서비스를 할 때입니다.
활동 레이아웃 :
<ViewStub
android:id="@+id/cast_minicontroller"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout="@layout/cast_mini_controller_fragment"
/>
cast_mini_controller_fragment :
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/castMiniController"
class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
코드 onCreate()
활동에 :
ViewStub miniControllerStub = (ViewStub) findViewById(R.id.cast_minicontroller);
if (isGPSAvailable) {
miniControllerStub.inflate();
}
은 내가 ViewStub
AP를 선호 Proach는 레이아웃을 복제하지 않으므로
테스트 할 실제 장치입니까, 아니면 에뮬레이터입니까?적절한 Google Play 서비스가 있나요? –
나는 진짜 장치, samsung 하나를 사용했다, 나는 그것이 적절한 구글 플레이 서비스를 가지고 있다고 생각하고 그것의 구글 샘플 앱을 ... – Qing
'com.google.android.gms : play-services : 9.4.0'을 컴파일하라. 'com.android.support:appcompat-v7:24.1.1' 'com.android.support :mediarouter-v7:24.1.1' 'com.android.support:recyclerview-v7:24.1.1'을 (를) 컴파일하십시오. com.google.android.gms : play-services-cast-framework : 9.4.0 ' 'com.googlecode.android-query : android-query : 0.25.9 '를 컴파일하십시오. – Qing