2011-05-27 5 views
2

Je travaille sur un récepteur de diffusion MMS. Il commence déjà lors de la réception d'un MMS, mais je ne sais pas comment capturer/analyser le contenu des mms comme il est fait avec sms dans cet exemple:Récepteur Android MMS Broadcast

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.telephony.SmsMessage; 
import android.util.Log; 

public class SMSBroadcastReceiver extends BroadcastReceiver { 

     private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; 
     private static final String TAG = "SMSBroadcastReceiver"; 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      Log.i(TAG, "Intent recieved: " + intent.getAction()); 

       if (intent.getAction() == SMS_RECEIVED) { 
        Bundle bundle = intent.getExtras(); 
        if (bundle != null) { 
         Object[] pdus = (Object[])bundle.get("pdus"); 
         final SmsMessage[] messages = new SmsMessage[pdus.length]; 
         for (int i = 0; i < pdus.length; i++) { 
          messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]); 
         } 
         if (messages.length > -1) { 
          Log.i(TAG, "Message recieved: " + messages[0].getMessageBody()); 
         } 
        } 
       } 
      } 
    } 

grâce

+0

Je fais quelque chose de similaire ICI !!! http://stackoverflow.com/questions/14452808/sending-and-receiving-mms-in-android – toobsco42

Répondre

2

Après avoir lu quelques questions connexes :

Detecting new MMS (Android 2.1)
Detecting MMS messages on Android

Il semble que ce feautre est la plupart du temps pris en charge, mais pas officiellement, donc vous ne trouverez pas beaucoup sur le doc umentation Ainsi, one of the links prévu à l'intérieur de ces questions relatives les points à quelque chose qui ressemble à quelque chose que vous pouvez être intéressé par

ce morceau de code spécialement intéressant.

public void startMMSMonitoring() { 
     try { 
     monitorStatus = false; 
     if (!monitorStatus) { 
      contentResolver.registerContentObserver(Uri.parse("content://mms-sms"), true, mmsObserver); 

      Uri uriMMSURI = Uri.parse("content://mms"); 
      Cursor mmsCur = mainActivity.getContentResolver().query(uriMMSURI, null, "msg_box = 4", null, "_id"); 
      if (mmsCur != null && mmsCur.getCount() > 0) { 
       mmsCount = mmsCur.getCount(); 
       Log("", "MMSMonitor :: Init MMSCount ==" + mmsCount); 
      } 
     } 
     } catch (Exception e) { 
     Log("", "MMSMonitor :: startMMSMonitoring Exception== "+ e.getMessage()); 
     } 
    } 

Que faire si vous avez un coup d'oeil, de test et nous donner des commentaires?

ce qui concerne.

Questions connexes