2016-08-05 9 views
1

通知コントロールでキャスト機能をセットアップしました。私が抱えている問題は、ユーザーがアクティビティを生成する通知をクリックしたときとアクティビティが作成されたときを区別する必要があることです。インテントがGoogle Castの通知であったかどうかを確認する方法

私は、これはマニフェストでは、受信エンティティにintent-filterを追加することによって行うことができると思うだろう:

<receiver android:name=".services.CastIntentReceiver"> 
     <intent-filter> 
      something goes here? 
     </intent-filter> 
    </receiver> 

これは基本的に活動された後ので、私は、私はキャストのコントローラを収容するビューを再構築することができます必要とされています通知から再起動しました。差別化することなく、実装はオリエンテーション変更後にビューの再構築用に構築した機能に干渉します(両方ともonResume()を使用しているため)

ご協力いただきありがとうございます。

答えて

1

Media Route Providerを参照してください。メディアルートでは、Androidデバイスからメディアコンテンツを再生できるため、Androidユーザーはすぐに画像を表示したり、曲を再生したり、ビデオを共有することができます。

メーカーのAndroidメディアルータフレームワークでは、MediaRouteProviderという標準化されたインターフェイスを使用して、デバイスで再生を有効にすることができます。ルートプロバイダは、受信デバイス上でメディアを再生するための共通インタフェースを定義し、メディアルートをサポートするすべてのAndroidアプリケーションから機器上のメディアを再生することができます。

メディアルートプロバイダは、Androidアプリケーションの一部として配布されます。 MediaRouteProviderServiceを拡張するか、独自のサービスでMediaRouteProviderの実装をラップして、メディアルートプロバイダのインテントフィルタを宣言することによって、他のアプリケーションからルートプロバイダを利用できるようになります。これらの手順では、他のアプリがあなたのメディアルートを発見して利用することができます。

メディアルータフレームワークでサポートされる再生には、主に2種類の再生があります。メディアルートプロバイダは、再生機器の機能とサポートしたい機能に応じて、再生タイプの一方または両方をサポートできます。

  • リモート再生 - この方法では、受信側デバイスを使用してコンテンツデータを取得します、デコード、再生が可能ですが、ユーザーの手の中のAndroidデバイスはリモコンとして使用されます。このアプローチは、Google CastをサポートするAndroidアプリで使用されています。
  • セカンダリ出力 - このアプローチでは、Androidメディアアプリケーションは、受信者デバイスに直接ビデオや音楽を取得、レンダリング、ストリーミングします。このアプローチは、Android上のワイヤレスディスプレイ出力をサポートするために使用されます。

    <service android:name=".provider.SampleMediaRouteProviderService" android:label="@string/sample_media_route_provider_service" android:process=":mrp"> <intent-filter> <action android:name="android.media.MediaRouteProviderService" /> </intent-filter> </service>

    public class SampleMediaRouteProviderService extends MediaRouteProviderService {
    @Override public MediaRouteProvider onCreateMediaRouteProvider() { return new SampleMediaRouteProvider(this); } }

関連する問題