Как отправить почту при нажатии кнопки Android Studio?

Я хочу отправить электронное письмо, и при нажатии кнопки мне нужен список приложений на основе электронной почты. Когда я использую приведенный ниже исходный код, он выводит все приложения на основе сообщений, как показано на рисунке.

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);

Когда я нажимаю кнопку, такие приложения показывают

Как отправить почту при нажатии кнопки Android Studio?

but I want only e-mail based apps, such as. What I should change to get such list of apps?

Как отправить почту при нажатии кнопки Android Studio?

stackoverflow.com/a/37008125/3154636
Ashish Kudale 09.01.2019 18:32
0
1
1 521
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

вы можете использовать это

 btnReport.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String mailto = "mailto:[email protected]" +
                    "?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();
            }
        }
    });

не использует sendto, чтобы исключить использование вложений.

letsCode 09.01.2019 19:00

Просто вызовите намерение для электронной почты в своем onClicklistener,

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, Bluetooth

Just Ahead 09.01.2019 19:02

Другие вопросы по теме