그래서 캐스트 SDK v3을 함께 MediaRouteProviderService
를 사용하여 사용자 정의 경로를 제공하는 방법을
v3에서는 이제 장치 검색이 CastContext에 의해 처리됩니다.
장치 검색이 완전히 CastContext에 의해 관리됩니다 : v3 Configure device discovery, 그것은 상태. CastContext를 초기화 할 때 보낸 사람 응용 프로그램은 수신기 응용 프로그램 ID를 지정하고 네임 스페이스를 요청할 수 있습니다.CastOptions에 supportedNamespaces를 설정하여 필터링 할 수 있습니다. CastContext는 내부적으로 MediaRouter에 대한 참조를 보유하고 있으며 발신자 앱이 전경으로 들어가면 발견 프로세스를 시작하고 을 보내고 발신자 앱이 백그라운드로 들어갈 때 중지합니다.
class CastOptionsProvider implements OptionsProvider {
public static final String CUSTOM_NAMESPACE = "urn:x-cast:custom_namespace";
@Override
public CastOptions getCastOptions(Context appContext) {
List<String> supportedNamespaces = new ArrayList<>();
supportedNamespaces.add(CUSTOM_NAMESPACE);
CastOptions castOptions = new CastOptions.Builder()
.setReceiverApplicationId(context.getString(R.string.app_id))
.setSupportedNamespaces(supportedNamespaces)
.build();
return castOptions;
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
}
이 나는 수정하고, MediaRouteProviderService가 더 이상 대신 OptionsProvider를 사용하여 사용자 정의 경로를 제공, 필요 의미? – ingsaurabh