title: Android How to parse the downloaded MMS and save them to your database table?
body: <p>I can receive MMS but there are some problems when I save them in my watch. I can't parse him. Is there any good way?</p>
  
  <pre><code>public class MultimediaReceiver extends BroadcastReceiver {
  public static final String MMS_RECEIVE_ACTION = "android.provider.Telephony.WAP_PUSH_RECEIVED";
  
  @Override
  public void onReceive(final Context context, Intent intent) {
      if (intent.getAction().equals(MMS_RECEIVE_ACTION)) {
          PduParser parser = new PduParser(intent.getByteArrayExtra("data"));
          final NotificationInd genericPdu = (NotificationInd) parser.parse();
          byte [] data=genericPdu.getContentLocation();
          final String string=new String(data);
          Log.e("download url",string);
          new Thread(new Runnable() {
              @Override
              public void run() {
                  try {
                      Log.e("download ",new String(genericPdu.getTransactionId()));
                      byte[] s = HttpUtils.httpConnection(context, -1L, string, null, HttpUtils.HTTP_GET_METHOD,true, "10.0.0.200", 80);
                      Log.e("download length", new String(s));
                      if (s!=null &amp;&amp; s.length&gt;0){
                          parser(s);
                      }
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
          }).start();
  
      }
  }
  public void parser(byte []mmsData){
      try {
          PduBody body = null;
          GenericPdu pdu = new PduParser(mmsData).parse();
          if ((pdu == null) || (pdu.getMessageType() != 0x84)) {
          } else if (pdu instanceof MultimediaMessagePdu) {
              body = ((MultimediaMessagePdu) pdu).getBody();
              String subject = String.valueOf(((MultimediaMessagePdu) pdu).getSubject());
              if (body != null) {
                  int partNum = body.getPartsNum();
                  for (int i = 0; i &lt; partNum; i++) {
                      PduPart part = body.getPart(i);
                      String contentType = new String(part.getContentType(), "gb2312");
                      if (contentType.contains("text")) {
                          String content = new EncodedStringValue(part.getData()).getString();
                      } else if (contentType.contains("jpeg")) {
                          Bitmap bmp = BitmapFactory.decodeByteArray(part.getData(), 0, part.getData().length);
                          if (bmp != null) {
                          } else {
                          }
                      }else {
                      }
                  }
              }
          }
      } catch (IOException e) {
          e.printStackTrace();
      }
  }}
  </code></pre>
  
  <p>I print out the log output.</p>
  
  <pre><code> &lt;head&gt;
        &lt;layout&gt;
         &lt;root-layout/&gt;
        &lt;region id="Text" top="70%" left="0%" height="30%" width="100%" fit="scroll"/&gt;
        &lt;region id="Image" top="0%" left="0%" height="70%" width="100%" fit="meet"/&gt;
        &lt;/layout&gt;
    &lt;/head&gt;
    &lt;body&gt;
    &lt;par dur="10s"&gt;
    &lt;img src="IMG_5106.jpg" region="Image"/&gt;
    &lt;/par&gt;
    &lt;/body&gt;
    &lt;/smil&gt;
  
    ����IMG_5106.jpg���IMG_5106.jpg��������JFIF������H��H��������LExif����MM��*���������i�������������������������������������������������������������������������������8Photoshop 3.0��8BIM������������8BIM%������������ُ����    ���B~������"��������������������������  
    �����������}��!1AQa"q2���#B��R��$3br� 
    %&amp;'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������������������������  
    ���������w��!1AQaq"2�B����    #3R�br�
    $4�%�&amp;'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz����������������������������������������������������������������������������C��
  
  
  
  
  
    ����C     ������)��������?����(��?�@�����5�V�&lt;    ��X�ƿV�5�/�?eMo�_.&gt;2ů�[����zs[�3�`�+�`�+7��F�2y����n4cv��G������*�(FRP[���O��O3���&lt;�R�ꇃ&gt;���'�׮4&gt;MM�;��ַCs�L�7��(�������&lt;O�#Í)�j��Z@�S�p���q��ӌ�'��Zߝ&amp;�}����&lt;e���zߖ�jޛ�9
    ��z��2i+�o�~�7�|r�4�;ĺ���e��[�iQGm,��*�i&lt;�!x$����_��3��4?x�ZmH�{s\i1EX�fR��!�����S�4��j�]-������"�R�5�3��s�N{�]Q��w}��^@�I��_F|+�LѾ���e�ݾ��Z%Χd/���7��3����W�Cw�K�^x��)���lf����Y�Vx�a�B@��N�\�.t���m{��1�T���IPmFJ7\��j.��%o�%wv�&gt;�=�s�;��=��|C��\������V�ږ�����f��k$�1���p��^���ii�V��K������}N[�k�yt��i���&lt;�;9�Ue��UO+s�QwI_E�;�bxʝ
    P�Zj2��-)��鮪�=W-�[��  ���u&gt;�����'��Vo��Cm�mH�����'i��ke%1DV�ZL���l�ˑ���ī�K��MKJ73�g��M:}�d(q    Nц8a�YW�{5̟7���y���o,\��ظ�wո��K_vOW���&lt;�0H�zWк��b����k/i�4mu�A��.l��ZI/&lt;��=��&lt;Y��~/����O�.������g�M�B8%����UV,���!��U����ӵ��wn�Ռ��~���4��v����\��5%�T�i{�C�)�Pޣ5�&gt;�|[����4[o)�%�B&lt;�R&gt;Z8|�Ls�A88�qP�:�*{����q�p8j��K� �n�輖��S���~�iڧ���mFO�)�{w�#W��.n-���[׮�ބ��y�Wާ�&lt;m�B�G��i�3}�[��/�O 
    �M%�� ǨV�o�
      {��Go�
    �?9�����ZU�˪�=U�F��N\����&gt;�/ᔚO�|�;}[E�i--�-�Q���׉!��ps�|�^&gt;+&lt;=WJ���}�M�a�L1�K�J�i٦�T�AEW9�Q@Q@Q@Q@Q@Q@Wٿ���?��6���� kr_j�#���t=9�7���;
  </code></pre>
  
  <p>I initially thought it was my coding error but when I switched it over I couldn't parse it correctly and he needed some help right now.The last thing I want to do is to parse it and get the correct attachment and save it and I'm trying to read the system database for some reason this is not going to work.</p>