2010-12-16 4 views
2

Die Antwort auf How to open Email program via Intents (but only an Email program) zeigt, wie eine Auswahl mit NUR durch den Aufruf von intent.setType ("message/rfc822") angezeigten E-Mail-Programmen geöffnet wird.Android MIME-Typ für MMS (SMS) Nachrichten?

Ich möchte genau das gleiche tun, aber wählen Sie MMS-fähig (oder auch nur SMS) anstelle von E-Mail-Programmen.

Das Endziel besteht darin, einen "Share with" -Wähler zu erstellen, der abhängig von der Form der Nachricht unterschiedliche Inhalte sendet. (Da eine E-Mail viel länger als ein Text oder ein Tweet sein kann und einen Videoanhang enthalten kann.)

+0

Ich würde nicht davon ausgehen, dass jedes E-Mail-Programm diesen MIME-Typ unterstützt. – CommonsWare

+0

Ich mache etwas ähnliches hier !!! http://stackoverflow.com/questions/14452808/sending-and-receiving-mms-in-android – toobsco42

Antwort

2

Ich glaube, dass dies der MIME-Typ für MMS-Nachrichten ist: "application/vnd.wap.mms-message " Dies ist der MIME-Typ für SMS-Nachrichten: "vnd.android-dir/mms-sm"

Beispiel:

Manifest.xml Datei:

<receiver android:name=".SMSReceiver"> 
     <intent-filter> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
      <data android:mimeType="vnd.android-dir/mms-sms" />    
     </intent-filter> 
    </receiver> 
    <service android:name=".SMSReceiverService"/> 
    <receiver android:name=".MMSReceiver"> 
     <intent-filter> 
      <action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" /> 
      <data android:mimeType="application/vnd.wap.mms-message" /> 
     </intent-filter> 
    </receiver> 

Dies ist, wie ich verwendet habe, die MIME-Typen bisher in meiner Android-Entwicklung.

+0

Das Hinzufügen eines DatenmimeType zu dem SMSReceiver scheint nicht zu funktionieren. Ich habe das ausgeschaltet und mein SMSReceiver funktioniert gut. – toobsco42

+0

Auch ich denke, der MIME-Typ, den Sie suchen, ist 'vnd.android-dir/mms-sms' (beachten Sie die Endung' s') – xbakesx

+0

@xbakesx Danke :) –

1

Ich fand diese link to jTribe's blog. Scheint, ein funktionierendes Beispiel zu haben, wie man das erreicht, aber ehrlich gesagt kann ich keine Dokumentation finden, die bestätigt, dass das richtig ist. Es hat einige seltsame Dinge wie die Aktion ACTION_VIEW Einstellung (statt ACTION_SEND) und verwendet dann einen String param, anstelle einer statischen Variablen in der Intent Klasse ... aber hier ist der Code:

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.putExtra("sms_body", "The SMS text"); 
sendIntent.setType("vnd.android-dir/mms-sms"); 
startActivity(sendIntent); 
Verwandte Themen