2012-04-12 7 views
4

Ich versuche, eine Anwendung zu machen, ein Bild zu erfassen und per E-Mail zu senden, habe ich es erfolgreich durch den folgenden CodeBild wird per E-Mail, Android gesendet?

String path = Images.Media.insertImage(getContentResolver(), bmp,"title", null); 
    Uri screenshotUri = Uri.parse(path); 
    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    emailIntent 
      .putExtra(android.content.Intent.EXTRA_EMAIL, emailAddresses); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
    emailIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri); 
    emailIntent.setType("image/png"); 
    startActivity(Intent.createChooser(emailIntent, "Send email using")); 

Aber das Bild wird in einer kleinen Größe und sehr niedrige Auflösung gesendet? Irgendwelche Vorschläge für das Senden des Bildes mit seiner tatsächlichen Größe und Auflösung? Oder gibt es eine andere Möglichkeit, ein JPEG-Bild vom Kamerasergebnis anstelle einer Bitmap zu erhalten?

Vielen Dank im Voraus

+0

http://stackoverflow.com/questions/2518055/image-attachment-to-a-mail-how-in-android – waqaslam

Antwort

0

bmp ist ein Bitmap Ich gehe davon aus? Dann können Sie das Bild speichern, indem Sie die Methode compress http://developer.android.com/reference/android/graphics/Bitmap.html#compress%28android.graphics.Bitmap.CompressFormat,%20int,%20java.io.OutputStream%29 aus der Bitmap-Klasse verwenden, um es in eine Datei zu schreiben, und dann ein Uri aus der Datei erstellen.

Wenn Sie ein Bild einfügen, kann die URI, die Sie von Media erhalten, eine reduzierte Version sein.

0
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("plain/text"); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, EMAIL_SUBJECT); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, EMAIL_TEXT); 
File newFile = new File(Environment.getExternalStorageDirectory(), IMAGE_PATH); 
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM,Uri.fromFile(newFile)); 
startActivity(emailIntent); 
+0

Was ist der IMAGE_PATH?! – hatemfaheem

+0

der Pfad des Bildes, da der Stream das uri des Dateipfads übernimmt – Basbous

Verwandte Themen