2016-01-06 7 views
0

Успешно Отправленные MMS с несколькими изображениями:Отправленные MMS с несколькими изображениями андроид

Followed these steps отправить MMS, а также добавлять изображения в Andorid базе данных.

Проблема: есть у меня 3 изображения в 1 мм и не знаю, как сохранить их все против одного MMS в базе данных Android.

Я попытался сохранить несколько изображений в одном MMS, модифицируя метод в данной ссылке.

private static Uri createPart(Context context, String id, 
      ArrayList<SentMMSVo> sentMMS2) throws Exception { 
     ContentValues mmsPartValue = new ContentValues(); 
     mmsPartValue.put("mid", id); 
     mmsPartValue.put("ct", "image/png"); 
     mmsPartValue.put("cid", "<" + System.currentTimeMillis() + ">"); 
     Uri partUri = Uri.parse("content://mms/" + id + "/part"); 
     Uri res = context.getContentResolver().insert(partUri, mmsPartValue); 
     Log.e(">>>>>>>", "Part uri is " + res.toString()); 

     for (int i = 0; i < sentMMS2.size(); i++) { 
      // Add data to part 
      OutputStream os = context.getContentResolver() 
        .openOutputStream(res); 
      ByteArrayInputStream is = new ByteArrayInputStream(sentMMS2.get(i) 
        .getData()); 
      byte[] buffer = new byte[256]; 
      for (int len = 0; (len = is.read(buffer)) != -1;) { 
       os.write(buffer, 0, len); 
      } 
      os.close(); 
      is.close(); 
     } 
     return res; 
    } 

Этот метод сохранит одно изображение. он сохраняет изображение 1, а затем переопределяет новые байты изображения для проницаемого изображения.

Как сохранить несколько изображений в одном MMS.

ответ

0

Update Найдено решение:

Чтобы сохранить Mutiple изображения в одинарной мм в андроиде базы данных. я просто должен изменить выше, как это.

Логика: Мы должны создать несколько частей для одиночных миллиметров.

private static Uri createPart(Context context, String id, 
       ArrayList<SentMMSVo> sentMMS2) throws Exception { 
      ContentValues mmsPartValue = new ContentValues(); 
      mmsPartValue.put("mid", id); 
      mmsPartValue.put("ct", "image/png"); 


      for (int i = 0; i < sentMMS2.size(); i++) { 
       // Add data to part 
      mmsPartValue.put("cid", "<" + System.currentTimeMillis() + ">"); 
      Uri partUri = Uri.parse("content://mms/" + id + "/part"); 
      Uri res = context.getContentResolver().insert(partUri ,mmsPartValue); 
      Log.e(">>>>>>>", "Part uri is " + res.toString()); 
       OutputStream os = context.getContentResolver() 
         .openOutputStream(res); 
       ByteArrayInputStream is = new ByteArrayInputStream(sentMMS2.get(i) 
         .getData()); 
       byte[] buffer = new byte[256]; 
       for (int len = 0; (len = is.read(buffer)) != -1;) { 
        os.write(buffer, 0, len); 
       } 
       os.close(); 
       is.close(); 
      } 
      return res; 
     } 
-1

это может помочь вам, этот учебник демонстрирует, как отправлять несколько изображений с SD-карты.

https://www.youtube.com/watch?v=55hRGBJ1-2E

+0

Мы отправляем mms программно, а затем сохраняем его в базе данных Android, чтобы не отправлять простое изображение с SD-карты. –

+0

Извините, тогда приятель! –