Как запустить разные действия для разного контента в приложении Cast Sender на мини-клике
Я добавляю поддержку Google Cast в приложение и могу настроить только одно действие для запуска на мини-контроллере и щелчке уведомлений. Я настраиваю это в подклассе 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, когда идет воспроизведение музыки.
Не могу понять, как это сделать, и не могу найти это в документации. Я не уверен, если это возможно.
Как мне этого добиться?
1 ответ
Определите одно действие, скажем ProxyActivity, как целевое действие. Затем в этом упражнении решите, является ли это музыка или видео, и запустите соответствующее задание; ProxyActivity не делает ничего, кроме как решить, какое из двух других действий следует запустить.
Альтернативой является то, чтобы ваша целевая деятельность могла адаптироваться к типу медиа (т.е. обрабатывать оба случая в одном упражнении).