在我正在开发的应用中,在设置中 - > about - >我有一个按钮,表示"联系我们",此按钮应该发送来自用户的电子邮件对我来说。
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.about_app);
ImageButton email=(ImageButton)findViewById(R.id.email_imbtn);
email.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps will handle this
intent.putExtra(Intent.EXTRA_EMAIL, getString(R.string.email_address));
intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));
if (intent.resolveActivity(getPackageManager()) != null)
{
startActivity(intent);
}
else
Toast.makeText(About.this, "משהו השתבש בניסיון פתיחת תוכנת האימייל", Toast.LENGTH_SHORT).show();
}
});
}
电子邮件未出现在" TO"字段
我该如何解决?
答案 0 :(得分:3)
使用
intent.setData(Uri.fromParts("mailto", getString(R.string.to_email_address), null));
而不是
intent.setData(Uri.parse("mailto:"));
答案 1 :(得分:1)
我认为您错过了将邮件中的收件人姓名添加到
将接收方电子邮件设置如下
intent.setData(Uri.parse(" mailto:" +" recipient@example.com"));
答案 2 :(得分:1)
我使用以下代码从我的应用发送电子邮件。
mailMe.setOnClickListener(new View.OnClickListener() {
public void onClick(View paramAnonymousView) {
Intent emailActivity = new Intent(Intent.ACTION_SEND);
emailActivity.putExtra(Intent.EXTRA_EMAIL, getResources().getString(R.string.email));
emailActivity.putExtra(Intent.EXTRA_SUBJECT, getResources().getString(R.string.app_name));
//you can specify cc addresses as well
// email.putExtra(Intent.EXTRA_CC, new String[]{ ...});
// email.putExtra(Intent.EXTRA_BCC, new String[]{ ... });
//set up the message body
//emailActivity.putExtra(Intent.EXTRA_TEXT, message);
emailActivity.setType("message/rfc822");
startActivity(Intent.createChooser(emailActivity, "Complete action using"));
}
});
希望这会对某人有所帮助。