Also, was Sie tun können, Bilder zu bekommen, ist gehe ich die MMS von id und gehen durch („Inhalt: // mms/part“) eine Typprüfung tun:
String type = cursor.getString(cursor.getColumnIndex("ct"));
String partId = cursor.getString(cursor.getColumnIndex("_id"));
//is type a picture
if ("image/jpeg".equals(type) || "image/bmp".equals(type)
|| "image/gif".equals(type) || "image/jpg".equals(type)
|| "image/png".equals(type)) {
getMmsImage(partId); // load in your picture
}
Sie jetzt, dass Sie haben die Teil-ID Sie das Bild des Orts bekannt ist, so dass Sie es sich mit etwas laden können Sie zum Beispiel wollen, wenn Sie es einfach als Bitmap wollen Sie tun können:
public Bitmap getMmsImage(String _id, Context context) {
Uri partURI = Uri.parse("content://mms/part/" + _id);
InputStream is = null;
Bitmap bitmap = null;
try {
is = context.getContentResolver().openInputStream(partURI);
bitmap = BitmapFactory.decodeStream(is);
} catch (Exception e) {// probably should do an ioException around here}
finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {}
}
}
return bitmap;
}
Nun möchte Ich mag darauf hinweisen, dass, wenn Sie wollte animierte gifs das würde nicht funktionieren, es würde laden die gifs aber sie würden immer noch ich Magier. Wenn Sie sie animiert haben möchten, können Sie etwas wie Glide verwenden und geben Sie den Pfad für die URI. Glide braucht eine Weile, um Gifs zu laden, nur eine faire Warnung.
Wie beim Empfang von MMS können Sie immer einen Observer verwenden und die hinzugefügte Nachricht laden, wenn der Beobachter sagt, dass eine Änderung aufgetreten ist ... Oder verwenden Sie einen Broadcast-Empfänger, wenn Sie möchten, dass er der Standard-Messenger ist.