2016-08-05 2 views
1

J'ai configuré les capacités de diffusion avec les commandes de notification. Le problème que j'ai est que je dois faire la différence entre quand un utilisateur clique sur la notification (qui engendre l'activité) et toute autre fois l'activité a été créée.Comment savoir si l'intention provenait de la notification Google Cast

Je pense que cela peut être fait en ajoutant un intent-filter à l'entité du récepteur dans le manifeste:

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

Ceci est fondamentalement nécessaire que je peux reconstruire la vue où je hébergerai le contrôleur Cast après l'activité est relancé à partir de la notification. Sans aucune différenciation, la mise en œuvre interfère avec la fonctionnalité que j'ai construite pour la reconstruction de vue après changement d'orientation (puisqu'ils utilisent tous les deux onResume())

Merci d'avance pour toute aide.

Répondre

1

Essayez de lire Media Route Provider. Media Route permet de lire du contenu multimédia à partir de leurs appareils Android, ce qui permet aux utilisateurs d'Android d'afficher instantanément une image, de lire une chanson ou de partager une vidéo.

Le cadre de routeur multimédia Android permet aux fabricants d'activer la lecture sur leurs appareils via une interface standardisée appelée MediaRouteProvider. Un fournisseur de route définit une interface commune pour lire des médias sur un appareil récepteur, ce qui permet de lire les médias sur votre équipement à partir de n'importe quelle application Android qui prend en charge les itinéraires multimédia.

Un fournisseur de route multimédia est distribué dans le cadre d'une application Android. Votre fournisseur de route peut être mis à la disposition d'autres applications en ajoutant MediaRouteProviderService ou en enveloppant votre implémentation de MediaRouteProvider avec votre propre service et en déclarant un filtre d'intention pour le fournisseur de route multimédia. Ces étapes permettent à d'autres applications de découvrir et d'utiliser votre itinéraire multimédia.

Il existe deux principaux types de lecture pris en charge par la structure de routeur de média. Un fournisseur d'itinéraire média peut prendre en charge un ou les deux types de lecture, en fonction des capacités de votre appareil de lecture et la fonctionnalité que vous souhaitez soutenir:

  • à distance de lecture - Cette approche utilise le dispositif récepteur pour gérer la récupération de données de contenu , décodage et lecture, tandis qu'un appareil Android dans la main de l'utilisateur est utilisé comme télécommande. Cette approche est utilisée par les applications Android qui prennent en charge Google Cast.
  • Sortie secondaire - Avec cette approche, l'application multimédia Android récupère, restitue et diffuse de la vidéo ou de la musique directement sur le périphérique récepteur. Cette approche est utilisée pour prendre en charge la sortie Affichage sans fil sur 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); } }