Подтвердить что ты не робот

Как запустить приложение электронной почты с заполненным полем "до"?

Я пробовал этот код, который я нашел здесь:

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "[email protected]", null)); startActivity(intent);

Но я получаю сообщение на экране, которое гласит "Неподдерживаемое действие". Любые идеи о том, как это сделать?

Спасибо!

4b9b3361

Ответ 1

Попробуйте snippet:

/* Create the Intent */
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

/* Fill it with Data */
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");

/* Send it off to the Activity-Chooser */
context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));

Ключи: использование EXTRA_EMAIL для ваших адресов и использование createChooser(), если у пользователя установлено более одного клиента электронной почты.

Ответ 2

Вы пробовали

Intent intent = new Intent(
    Intent.ACTION_SENDTO,
    Uri.parse("mailto:[email protected]")
);
startActivity(intent);

Ответ 3

Я думаю, что настоящие проблемы в том, что вы работаете на официальном эмуляторе, и ваше намерение не соответствует чему-либо.

Из моего тестирования это проблема, которая возникает, когда URI намерения (от setData()) ничего не соответствует, и вы работаете на одном из официальных эмуляторов Android. Это, похоже, не происходит на реальных устройствах, поэтому это не должно быть проблемой реального мира.

Вы можете использовать этот код для определения того, когда это произойдет, прежде чем вы запустите цель:

ComponentName emailApp = intent.resolveActivity(getPackageManager());
ComponentName unsupportedAction = ComponentName.unflattenFromString("com.android.fallback/.Fallback");
boolean hasEmailApp = emailApp != null && !emailApp.equals(unsupportedAction);

(Имя операции, которая показывает метод действия "Неподдерживаемый действие", составляет com.android.fallback.FallbackActivity.)