2016-08-23 3 views
3

Я добавляю поддержку Google для трансляции в приложение, и я могу настроить только одно действие для запуска на мини-контроллере и уведомление. Настроить его в OptionsProvider подкласса какКак запускать различные действия для различного контента в приложении отправителя трансляции на мини-контроле нажмите

@Override 
    public CastOptions getCastOptions(Context appContext) { 

     Log.d(TAG, "getCastOptions: "); 

     NotificationOptions notificationOptions = new NotificationOptions.Builder() 
       .setTargetActivityClassName(VideoPlayerActivity.class.getName()) 
       .build(); 

     CastMediaOptions mediaOptions = new CastMediaOptions.Builder() 
       .setNotificationOptions(notificationOptions) 
       .setExpandedControllerActivityClassName(VideoPlayerActivity.class.getName()) 
       .build(); 

     CastOptions castOptions = new CastOptions.Builder() 
       .setReceiverApplicationId(appContext.getString(R.string.app_id)) 
       .setCastMediaOptions(mediaOptions) 
       .build(); 
     return castOptions; 
    } 

Это нормально, когда я играю в видео, но я также музыку в приложение, и оно не имеет полноэкранный контроллер. Итак, на уведомлении/мини-контроллере нажмите «Я хочу запустить VideoPlayerActivity, если видео прикладывает и MusicActivity, когда музыка отливается.

Не могу понять, как это сделать, и не может найти его в документации. Я не уверен, что это возможно.

Как это достичь?

+0

Я думаю, что это невозможно сделать с помощью переключателя, так как радиокнопка не работает с ViewGroup – PN10

+1

@ PN10 по радио. Я имею в виду потоковое воспроизведение музыки. Я редактировал вопрос, чтобы не путать людей. –

+0

это может быть полезно использовать ссылку https://github.com/googlesamples/android-UniversalMusicPlayer – PN10

ответ

3

Определите одно действие, например ProxyActivity, для вашей целевой деятельности. Затем, в этом упражнении, решите, является ли это музыкой или видео, и запустите соответствующую деятельность; ProxyActivity не делает ничего, кроме решения о том, какой из двух других действий должен быть запущен.

Альтернативой является то, что ваша целевая активность может адаптироваться к типу носителя (т. Е. Обрабатывать оба случая в одном действии).

+0

Спасибо за совет! Теперь я сохраняю тип данных в константу и запускаю различные действия из ProxyActivity в зависимости от типа контента, который сейчас играет. –