2016-07-08 4 views
2

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

Код я написал для этого отлично работает и выглядит следующим образом:

private void sendMe(String address, String subject, String emailBody){ 

    String uriText = 
      "mailto:" + address + 
        "?subject=" + Uri.encode(subject) + 
        "&body=" + Uri.encode(emailBody); 

    Uri uri = Uri.parse(uriText); 

    Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
    sendIntent.setData(uri); 
    startActivity(Intent.createChooser(sendIntent, "Send email")); 

    emailBody = ""; 
} 

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

Есть ли существующее решение для удаления существующего текста электронной почты из приложения электронной почты или мне нужно использовать отдельную почтовую клиентскую библиотеку для этого?

ответ

1

Есть существующее решение для удаления существующего текста электронной почты из приложения электронной почты

Есть сотни, возможно, тысячи почтовых приложений для Android. Это включает как предустановленные приложения, так и приложения, которые пользователи устанавливают из Play Маркета или других каналов распространения. Поведение каждого из этих приложений зависит от разработчиков этих приложений. Следует отметить, что ни один из них не нуждается в поддержке эскизов электронной почты, не говоря уже о том, чтобы сторонние стороны контролировали такие проекты.

Ваша задача - обеспечить правильное размещение текста в запросе. Например, ваш оператор emailBody = "" в вашем исходном коде бессмыслен. До тех пор, пока ваш запрос имеет желаемую информацию, все после этого зависит от разработчиков и пользователя другого приложения.

+0

Полезно знать. Наверное, я решил переосмыслить то, как я это делаю. – FSocko

1

Это обычно вызвано тем, что ваш клиентский/клиентский настройки электронной почты сохраняют черновики на сервере. Измените настройку, чтобы сохранить черновики в локальном режиме, и все сохраненные частичные копии должны остановиться.

0

Я понял это.

Проблема не имела никакого отношения к поддержке проекта в приложении электронной почты Android, как я подозревал, это связано с тем, что моя собственная строка электронной почты не стирается, прежде чем отправлять намерение в приложение электронной почты Android. Моя переменная и, следовательно, намерение содержало тело нескольких электронных писем, которые были отправлены в приложение.

Я переместил строку emailBody = ""; к другой теме и убедиться, что она выполнена перед отправкой намерения.

Смежные вопросы