2

Je souhaite utiliser un récepteur de diffusion pour les "intentions implicites" qui utilisent le type ACTION_SEND.Le récepteur de diffusion ACTION_SEND ne s'affiche pas

C'est toujours très basique mais de toute façon, mon application/récepteur ne s'affiche déjà pas, quel que soit le "menu partagé" de l'application que j'essaie.

extrait de AndroidManifest.xml:

 <receiver 
     android:name=".SaveReceiver" > 
     <intent-filter 
      android:icon="@drawable/ic_launcher" 
      android:label="YourDrive" > 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

     </intent-filter> 
     <intent-filter 
      android:icon="@drawable/ic_launcher" 
      android:label="YourDrive" > 
      <action android:name="android.intent.action.SEND_MULTIPLE" /> 
     </intent-filter> 
    </receiver> 

J'ai essayé d'installer un mimeType, mais rien ne permet. Dois-je définir un mimeType spécifique ou puis-je le vérifier plus tard (via le code Java lors de la gestion du contenu)? Qu'est-ce que je fais mal, de sorte que mon application ne s'affiche pas dans "Partager les menus" de toutes les applications ...

Merci d'avance.

Répondre

4

Je veux utiliser un récepteur de diffusion pour "intentions implicites" qui utilisent le type ACTION_SEND.

ACTION_SEND est une action d'activité, pas une action de diffusion. Vous ne pouvez pas prendre les appels startActivity() avec un BroadcastReceiver.

Qu'est-ce que je fais mal, de sorte que mon application ne se présente pas dans les « menus Partager » de toutes les applications ...

Vous n'êtes pas une activité en œuvre.

http://developer.android.com/training/sharing/receive.html

+0

Hmm, ça craint, je pense ... Il limite considérablement la quantité de usecases. Vous ne voulez pas toujours démarrer une activité lorsque vous partagez quelque chose. –

+0

@PaulPraet: "Vous ne voulez pas toujours démarrer une activité en partageant quelque chose" - la grande majorité des scénarios de "partage" utilisés aujourd'hui implique que l'utilisateur fournisse des informations supplémentaires sur l'opération de partage. Des choses comme l'adresse du destinataire, ou le dossier, ou les balises, ou autre, en fonction de ce que l'application à l'envoi a besoin. Cela étant dit, vous êtes invités à créer une activité 'Theme.NoDisplay' qui gère l'action de partage. – CommonsWare

+0

Ouais, il semble que je vais devoir, mais je considère cela comme une bidouille/solution de contournement. Même si la plupart des applications utilisent effectivement des activités, je ne comprends pas pourquoi Android interdit de le faire d'une autre manière .. –

Questions connexes