我使用它在Android中以编程方式发送电子邮件,但在Android 4.4.4中运行不好。还有另一种方法吗?这是我的代码,谢谢。
Intent i = new Intent(Intent.ACTION_SEND);
//i.setType("text/plain"); //use this line for testing in the emulator
i.setType("message/rfc822") ; // use from live device
i.putExtra(Intent.EXTRA_SUBJECT,"-my app-");
i.putExtra(Intent.EXTRA_TEXT,"Hello");
startActivity(Intent.createChooser(i, "Select your mail app"));
答案 0 :(得分:1)
屏幕上的对话框显得很大
选择器窗口的大小取决于设备,而不是您。对于触发选择器的设备上的所有应用程序,选择器窗口的大小将相同,因此用户将期望看到非常大的"在有一个设备的设备上选择窗口。
如果您觉得选择窗口的大小应该是您想要的而不是用户期望的大小,那么您需要创建自己的选择器。您可以使用PackageManager
和queryIntentActivities()
执行此操作,以查看所有响应Intent
的内容并使用它来填充您自己设计的某些选择器UI。
答案 1 :(得分:0)
我希望以下代码对您有所帮助..
protected void sendEmail() {
String[] recipients = {recipient.getText().toString()};
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
// prompts email clients only
email.setType("message/rfc822");
email.putExtra(Intent.EXTRA_EMAIL, recipients);
email.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString());
email.putExtra(Intent.EXTRA_TEXT, body.getText().toString());
try {
// the user can choose the email client
startActivity(Intent.createChooser(email, "Choose an email client from..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(MainActivity.this, "No email client installed.",
Toast.LENGTH_LONG).show();
}
}
以上代码适合我! 享受!!!