2011-12-13 1 views
0

Quelle est l'intention qui est déclenchée lorsque l'utilisateur tente d'ajouter une pièce jointe à un message SMS/MMS? J'ai essayé ces derniers et aucun d'entre eux travaillent:Filtre d'intention Android: ajouter une pièce jointe au message SMS/MMS

get_content avec la catégorie DEFAULT et « / » mimeType PICK avec la catégorie DEFAULT et « / » mimeType

J'ai aussi essayé ci-dessus avec des catégories OUVRANT et BROWSABLE .

Je ne trouve pas cela documenté ailleurs. Cela ne semble pas être la même intention que le filtre de pièces jointes. Pour clarifier, je parle d'ajouter mon application en tant qu'option dans la boîte de dialogue qui apparaît lorsque l'utilisateur essaie de joindre quelque chose à un message SMS ou MMS.

Répondre

2

Normalement, l'utilisateur ne ceci pour ajouter l'image au MMS:

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.putExtra("sms_body", "some text"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(url)); 
sendIntent.setType("image/png"); 

Donc, vous devez enregistrer votre activité pour ACTION_SENDaction.

Vous pouvez également filtrer les intentions qui ont l'image jointe via mime="image/png" filtre:

<intent-filter android:icon="drawable resource" 
      android:label="string resource" 
      android:priority="integer" > 
    <action android:name="ACTION_SEND" /> 
    <data android:mimeType="image/png"/> 
</intent-filter> 

Mise à jour:

Pour voir comment l'application MMS ajoute des pièces jointes voir ce code: http://www.google.com/codesearch#cZwlSNS7aEw/packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java&exact_package=android&q=AttachmentTypeSelectorAdapter&type=cs&l=2415

En la plupart des cas, votre application doit enregistrer l'action ACTION_GET_CONTENT.

+0

Cela n'ajoute pas mon application à la liste des applications que l'utilisateur peut choisir lorsqu'il ajoute une pièce jointe. C'est ce que je suis après. –

+0

Ahh, désolé. J'ai mal compris votre question. Mise à jour de la réponse avec un (heureusement) lien utile. –

+0

Ah. La boîte de dialogue de pièce jointe n'envoie pas d'intention tant que le type de pièce jointe n'est pas sélectionné. J'ai continué à attendre que mon application apparaisse dans ce premier dialogue, au lieu du second. –

0

Il s'avère que la boîte de dialogue de pièce jointe n'est pas une intention comme celle de la pièce jointe. C'est un dialogue intermédiaire qui contrôle le type de pièce jointe. Dans mon cas, choisir un type qui correspond au type MIME (tel que image/png) déclenche l'intention et montre mon application comme l'un des choix.

Merci Peter Knego pour un lien vers la source Android.

Questions connexes