2016-04-04 9 views
-1

Ich habe eine Android-App entwickelt, in der Benutzer mit SmsManager Api eine Nachricht an eine beliebige Nummer senden können.Wie man Bild in Text umwandelt und es als SMS in Android sendet

SmsManager smsManager = SmsManager.getDefault(); 
smsManager.sendTextMessage("phoneNo", null, "sms message", null, null); 

Jetzt möchte ich, dass Benutzer kleines Bild auf eine beliebige Anzahl schicken

smsManager.sendTextMessage("phoneNo", null, picture, null, null); 

mit Ich möchte nicht dieses Bild durch MMS.I senden Dies kann wissen von Bild in String-Umwandlung erreicht bei Senden des Endes und Rückumwandeln der Zeichenkette in das Bild am Empfangsende. Aber ich mache das nicht. Hier ist eine Momentaufnahme der Android-App, die diese Aufgabe erreicht hat. Ich möchte dies in snapshot link

+0

http://stackoverflow.com/questions/36361548 –

Antwort

1

Verwenden folgenden Code

/** * Codiert das Bild zu Base64 wie gezeigt tun. */

private String encodeImage(String photoPath) { 

     File imagefile = new File(photoPath); 
     FileInputStream fis = null; 
     try { 
      fis = new FileInputStream(imagefile); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 

     Bitmap bm = BitmapFactory.decodeStream(fis); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     bm.compress(Bitmap.CompressFormat.JPEG, 80, baos); 
     byte[] b = baos.toByteArray(); 
     return Base64.encodeToString(b, Base64.DEFAULT); 
0

Es ist nicht möglich. denn wenn du image in base64 umwandelst, sind keine Zeichen mehr als 300 (für das kleinste Bild von 50x50), also wird es MMS.

+0

ich möchte kleines Bild von 30x30 konvertieren –

Verwandte Themen