Как отправить электронную почту без вмешательства пользователя и без использования javamail по умолчанию идентификатор Gmail в Android? - PullRequest
0 голосов
/ 27 декабря 2011

Привет, я создаю приложение (которое рассматривается как приложение безопасности), в котором при нажатии на кнопку должен открыться список контактов, и при выборе контакта почта должна отправляться непосредственно на почтовый адрес выбранного контакта, не показывая всплывающее окно для запроса. msgstr "выбрать почтовый клиент". я хочу отправлять почту в фоновом режиме. Например, если вам известно приложение Pandora Radio. Таким образом, вы можете поделиться станцией, выбрав идентификатор электронной почты из контакта, который отправляет электронную почту выбранному контакту в фоновом режиме, используя идентификатор электронной почты по умолчанию для телефона adnroid, и показывает тост «станция поделилась» после успеха.

Я не хочу спрашивать у пользователя пароль Gmail или что-то еще. Мне удалось получить четный идентификатор электронной почты по умолчанию для телефона Android, и, выбрав контакт, я могу получить идентификатор электронной почты выбранного контакта Я не хочу использовать JavaMail, потому что ему нужен жестко закодированный идентификатор электронной почты и пароль. Я много искал, но не нашел решения, как хочу. Пожалуйста, предложите любое решение.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2013

Попробуйте это на Android 4 +

public synchronized void sendMail(final String subject, final String body,
            final String sender, final String recipients) throws Exception {
        try {
            Thread mailThread = new Thread() {
                @Override
                public void run() {
                    try {
                        MimeMessage message = new MimeMessage(session);
                        DataHandler handler = new DataHandler(
                                new ByteArrayDataSource(body.getBytes(),
                                        "text/plain"));
                        message.setSender(new InternetAddress(sender));
                        message.setSubject(subject);
                        message.setDataHandler(handler);
                        if (recipients.indexOf(',') > 0)
                            message.setRecipients(Message.RecipientType.TO,
                                    InternetAddress.parse(recipients));
                        else
                            message.setRecipient(Message.RecipientType.TO,
                                    new InternetAddress(recipients));
                        Transport.send(message);
                    } catch (Exception e) {

                    }
                }

            };
            mailThread.start();
        } catch (Exception ex) {

        }
    }
0 голосов
/ 27 декабря 2011

Извините, это не поддерживается в Android SDK.

...