if (message.hasMedia()) {
    Message.Media media = message.getMedia();

    String sid = media.getSid();
    String type = media.getType();
    String fn = media.getFileName();
    long size = media.getSize();

    Timber.d("This is a media message with SID "+sid+", type "+type+", name "+fn+", and size "+size);

    if (type.contentEquals("text/plain")) {
        final ByteArrayOutputStream out = new ByteArrayOutputStream();
        media.download(out, new StatusListener() {
            @Override
            public void onSuccess() {
                String content = out.toString();
                Timber.d("Downloaded media "+content);
            }

            @Override
            public void onError(ErrorInfo error) {
                Timber.e("Error downloading media");
            }
        }, new ProgressListener() {
            @Override
            public void onStarted() {
                Timber.d("Download started");
            }

            @Override
            public void onProgress(long bytes) {
                Timber.d("Downloaded "+bytes+" bytes");
            }

            @Override
            public void onCompleted(String mediaSid) {
                Timber.d("Download completed");
            }
        });
    }
}

@@ -27,463 +27,77 @@
     
-Message.Media media = message.getMedia();%0A%0A    String sid = media.getSid();%0A    String type = media.getType();%0A    String fn = media.getFileName();%0A    long size = media.getSize();%0A%0A    Timber.d(%22This is a media message with SID %22+sid+%22, type %22+type+%22, name %22+fn+%22, and size %22+size);%0A%0A    if (type.contentEquals(%22text/plain%22)) %7B%0A        final ByteArrayOutputStream out = new ByteArrayOutputStream();%0A        media.download(out, new StatusListener
+message.getMediaContentTemporaryUrl(new CallbackListener%3CString%3E
 () %7B%0A
-    
     
@@ -110,36 +110,32 @@
 verride%0A        
- 
-   
 public void onSu
@@ -144,692 +144,74 @@
 ess(
-) %7B%0A                String content = out.toString();%0A                Timber.d(%22Downloaded
+String
  media
- %22+c
+C
 ontent
-);%0A            %7D%0A%0A            @Override%0A            public void onError(ErrorInfo error) %7B%0A                Timber.e(%22Error downloading media%22);%0A            %7D%0A        %7D, new ProgressListener() %7B%0A            @Override%0A            public void onStarted() %7B%0A                Timber.d(%22Download started%22);%0A            %7D%0A%0A            @Override%0A            public void onProgress(long bytes) %7B%0A                Timber.d(%22Downloaded %22+bytes+%22 bytes%22);%0A            %7D%0A%0A            @Override%0A            public void onCompleted(String mediaSid) %7B%0A                Timber.d(%22Download completed%22
+Url) %7B%0A            Log.d(%22TAG%22, mediaContentUrl
 );%0A 
@@ -221,30 +221,15 @@
     
-    %7D%0A   
+%7D%0A
     
- 
 %7D);%0A
-    %7D%0A%7D%0A
+%7D

Update Android retrieve conversations media example