如何在单击按钮的 Android Studio 上发送邮件?

Posted

技术标签:

【中文标题】如何在单击按钮的 Android Studio 上发送邮件?【英文标题】:How to send mail on button clicked Android Studio? 【发布时间】:2019-06-04 13:00:13 【问题描述】:

我想发送电子邮件,当单击按钮时,我想要基于电子邮件的应用程序列表。当我使用下面的源代码时,它会输出所有基于消息的应用程序,如图所示

Intent intent2 = new Intent(Intent.ACTION_SEND);
intent2.setData(Uri.parse("mailto:"));
intent2.setType("plain/text");
intent2.putExtra(Intent.EXTRA_EMAIL, new String[]email);
startActivity(intent2);

当我点击按钮时,会显示此类应用程序

但我只想要基于电子邮件的应用程序,例如。 我应该改变什么来获得这样的应用列表?

【问题讨论】:

***.com/a/37008125/3154636 【参考方案1】:

你可以用这个

 btnReport.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View view) 
            String mailto = "mailto:useremail@gmail.com" +
                    "?cc=" +
                    "&subject=" + Uri.encode("your subject") +
                    "&body=" + Uri.encode("your mail body");
            Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
            emailIntent.setData(Uri.parse(mailto));

            try 
                startActivity(emailIntent);
             catch (ActivityNotFoundException e) 
                Toast.makeText(context, "Error to open email app", Toast.LENGTH_SHORT).show();
            
        
    );

【讨论】:

不使用 send 来消除附件的使用。【参考方案2】:

只需在 onClicklistener 中调用 Email 的 Intent,

Intent email = new Intent(Intent.ACTION_SEND);  
email.putExtra(Intent.EXTRA_EMAIL, new String[] to);  
email.putExtra(Intent.EXTRA_SUBJECT, subject);  
email.putExtra(Intent.EXTRA_TEXT, message);  

//need this to prompt`enter code here`s email client only  
email.setType("message/rfc822");  

startActivity(Intent.createChooser(email, "Choose an Email client :"));  

【讨论】:

没有变化,它还显示 WhatsApp、Telegram、蓝牙应用程序

以上是关于如何在单击按钮的 Android Studio 上发送邮件?的主要内容,如果未能解决你的问题,请参考以下文章

如何单击图像按钮并将其显示在 Android Studio 的新页面中?

Android Studio 3.1.2运行按钮不起作用

通过单击android studio中的按钮将我的当前位置发送给所有用户

如何在 Visual Studio 2019 中通过单击按钮来重复数组上的元素

Android Studio:单击按钮时一一更新多个按钮的背景

在android studio中单击按钮时无法查看当前坐标