gpt4 book ai didi

java - 我需要通过邮件从相机发送图像

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:17 25 4
gpt4 key购买 nike

我对 android studio 和东西有点陌生...所以我被卡住了。我需要捕获图片并将其发送到电子邮件。`public class MainActivity extends Activity implements OnClickListener {

EditText editTextEmail, editTextSubject, editTextMessage;
Button btnSend, btnAttachment;
String email, subject, message, attachmentFile;
Uri URI = null;
private static final int PICK_FROM_GALLERY = 101;
int columnIndex;
protected static final int CAMERA_PIC_REQUEST = 0;
Bitmap thumbnail;
File pic;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextEmail = (EditText) findViewById(R.id.editTextTo);
editTextSubject = (EditText) findViewById(R.id.editTextSubject);
editTextMessage = (EditText) findViewById(R.id.editTextMessage);
btnAttachment = (Button) findViewById(R.id.buttonAttachment);
btnSend = (Button) findViewById(R.id.buttonSend);

btnSend.setOnClickListener(this);
btnAttachment.setOnClickListener(this);
}





@Override
public void onClick(View v) {

if (v == btnAttachment) {
openGallery();

}
if (v == btnSend) {
try {
email = editTextEmail.getText().toString();
subject = editTextSubject.getText().toString();
message = editTextMessage.getText().toString();

final Intent emailIntent = new Intent (Intent.ACTION_SEND);
// emailIntent.setType("message/rfc822");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { email });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
subject);
if (URI != null) {
emailIntent.putExtra(Intent.EXTRA_STREAM, URI.fromFile(pic));
}

emailIntent.setType("image/png");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
this.startActivity(Intent.createChooser(emailIntent,
"Sending email..."));

} catch (Throwable t) {
Toast.makeText(this,
"Request failed try again: " + t.toString(),
Toast.LENGTH_LONG).show();
}
}

}

public void openGallery(){
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_PIC_REQUEST) {
thumbnail = (Bitmap) data.getExtras().get("data");
ImageView image = (ImageView) findViewById(R.id.imageView1);
image.setImageBitmap(thumbnail);


try {
File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
if (root.canWrite()){
pic = new File(root, "pic.png");
FileOutputStream out = new FileOutputStream(pic);
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
}
} catch (IOException e) {
Log.e("BROKEN", "Could not write file " + e.getMessage());
}

}
}
}

这是我的代码,我可以用它拍照或发送没有照片的电子邮件。

附言我发现自己的错误。 list 文件中哪里没有权限

最佳答案

使用 Intent 调用您的邮件应用程序并附加图像:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("application/image");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{strEmail});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Add your Subject Here");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hey, I send you this Image from my Camera App");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("Your ImagePath"));
startActivity(Intent.createChooser(emailIntent, "Send mail..."));

关于java - 我需要通过邮件从相机发送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37220605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com