У меня есть код в моем приложении, который позволяет пользователю отправлять электронное письмо разработчику. Предполагается, что оно должно заполнить поле To, поле Subject и поле body. Но когда я бегу, он заполняет To, но игнорирует другие EXTRA, такие как текст Subject, Body и Chooser. Я наблюдаю это поведение на двух тестовых устройствах: один работает Lollipop (Verizon Samsung Galaxy Note 4) и один работает Jelly Bean 4.2.2 (Samsung Fascinate на CM10.1, хотя я не знаю, имеет ли это отношение к проблеме .Android ACTION_SEND намерение не заполняется Тема или тело
private void sendHelpEmail() {
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
// prompts email clients only
email.setType("message/rfc822");
email.putExtra(Intent.EXTRA_EMAIL, new String[] {getString(R.string.about_email)});
email.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.login_help_subject));
email.putExtra(Intent.EXTRA_TEXT, getString(R.string.login_help_body, classButton.text(), Txt_Student.getText().toString()));
try {
// the user can choose the email client
startActivity(Intent.createChooser(email, getString(R.string.login_help_chooser)));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(mThis, R.string.login_help_error, Toast.LENGTH_LONG).show();
}
}
Почему Subject и тела игнорируются, когда к электронной почте населен?
Интересно, если некоторые приложения для почтовых клиентов, которые получили это намерение, игнорируют дополнительные функции. –
Он даже игнорирует текст Chooser перед выбором приложения. Затем я выбираю приложение Gmail, поэтому кажется, что должно быть какое-то намерение, которое, по крайней мере, работает с Gmail. – Scott
Когда я создал Intent для отправки по электронной почте, я использовал единственный конструктор аргументов для Intent (просто действие). Вам не нужно писать mailto: шт. Кроме того, вам не нужно вызывать setType(). –