2016-08-23 8 views
3

アプリにGoogleキャストサポートを追加しています。ミニコントローラと通知のクリックで1つのアクティビティをターゲットにすることができます。私はビデオを再生していたときにキャスト送信者アプリのさまざまなコンテンツをミニコントロールでクリックする方法

@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; 
    } 

のようにそれは大丈夫ですが、私はまた、アプリで音楽を持っている、そしてそれはフルスクリーンコントローラを持っていないOptionsProviderサブクラスでそれを設定します。したがって、通知/ミニコントローラをクリックすると、ビデオがキャストされている場合はVideoPlayerActivityを、音楽がキャストされている場合はMusicActivityを起動します。

これを行う方法を理解することができず、ドキュメントでそれを見つけることができません。それが可能かどうかはわかりません。

どうすればよいですか?

+0

ラジオボタンがラジオで再生できないのでラジオボタンではできないと思います。 – PN10

+1

@ PN10ラジオで音楽をストリーミングすることを意味します。私は人を混乱させないように質問を編集しました。 –

+0

これはあなたの使用の可能性がありますこのリンクを参照してくださいhttps://github.com/googlesamples/android-UniversalMusicPlayer – PN10

答えて

3

1つのアクティビティ、たとえばProxyActivityをターゲットアクティビティとして定義します。次に、そのアクティビティで、それが音楽かビデオかを判断し、対応するアクティビティを起動します。 ProxyActivityは、他の2つのアクティビティーのどちらを起動するかを決める以上のことはしません。

代わりに、ターゲットアクティビティをメディアの種類に適応させる(つまり、1つのアクティビティで両方のケースを処理する)ことができます。

+0

アドバイスありがとう!データ型を定数に保存し、ProxyActivityとは別のアクティビティを開始するときは、現在再生中のコンテンツタイプによって異なります。 –

関連する問題