我正在尝试制作一个应用程序来捕获图像并通过电子邮件发送,我通过以下代码成功完成了
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"));
但图像是以小尺寸和非常低的分辨率发送的?有关使用它的实际尺寸和分辨率发送图像的任何建议吗?或者有没有其他方法从相机结果而不是位图获取jpeg图像?!
提前致谢
答案 0 :(得分:0)
bmp
是我假设的位图?然后,您可以使用位图类中的compress http://developer.android.com/reference/android/graphics/Bitmap.html#compress%28android.graphics.Bitmap.CompressFormat,%20int,%20java.io.OutputStream%29方法将图像保存到文件中,然后从文件中创建一个Uri。
插入图像时,您从Media收到的Uri可以是缩小版。
答案 1 :(得分: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);