Я использую код, похожий на другой SO post. Но мой тип MIME для каждого MMS - это "приложение/smil". Как определить, содержит ли MMS изображение, аудио, текст и т.д.?
Вот код, который я использую в данный момент:
        String selectionPart = "mid =" + id;
        Uri ur = Uri.parse("content://mms/part");
        Cursor cur = getContentResolver().query(ur, null, selectionPart, null, null);
        if (cur.moveToFirst()) {
            do {
                String[] values = new String[cur.getColumnCount()];
                for (int i = 0; i < cur.getColumnCount(); i++) {
                    values[i] = cur.getString(i);
                }
                String partId = cur.getString(cur.getColumnIndex("_id"));
                String type = cur.getString(cur.getColumnIndex("ct"));
Это то, что содержится в значениях String [] для аудио MMS:
[56, 98, -1, application/smil, smil.xml, null, null, null, <0000>, smil.xml, null, null, null, <smil>
<smil>
  <head>
    <layout>
      <root-layout height="480px" width="320px"/>
      <region fit="meet" height="160px" id="Text" left="0" top="320" width="320px"/>
    </layout>
  </head>
  <body>
    <par dur="11000ms">
      <audio dur="11000ms" src="cid:171"/>
      <text region="Text" src="cid:172"/>
    </par>
  </body>
</smil>
]