Действие Intent для Gmail в Android? - PullRequest
0 голосов
/ 21 декабря 2011

Я создаю приложение, в котором пользователь может поделиться «чем-то», нажав кнопку «Поделиться». Шаги, чтобы поделиться «чем-то»:

  1. При нажатии кнопки «Поделиться» список контактов должен открыться
  2. При выборе контакта (с действительным адресом электронной почты) данные следует отправлять непосредственно выбранному контакту с адреса электронной почты отправителя по умолчанию (Gmail), не открывая окно для выбора почтового клиента, такого как «Gmail», «Dropbox». и т. д.

Мне удалось получить электронный идентификатор контакта с помощью http://mobile.tutsplus.com/tutorials/android/android-essentials-using-the-contact-picker/ но после выбора контакта я получаю всплывающее окно для выбора почтового клиента, такого как "Gmail", "Dropbox" и т. д.

вот мой код

       if( email.length() != 0 )
       {
            Intent sharingIntent = new Intent(
                   android.content.Intent.ACTION_SEND );
            sharingIntent.setType("message/rfc822");
            String shareBody =
                            "Hey buddy listen to this station it is awesome\n"
                            + mNowPlayingSong.mAudioUrl;
            sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
                           "I liked this song" );
           sharingIntent.putExtra(                                                     
                          android.content.Intent.EXTRA_TEXT, shareBody );
           String emailAddressList[] = {email};
           sharingIntent.putExtra(Intent.EXTRA_EMAIL, emailAddressList );
           startActivity( sharingIntent );

1 Ответ

3 голосов
/ 21 декабря 2011

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

Другая возможность - встроить свой почтовый клиент в ваше приложение. В этом случае, если пользователь предоставит учетные данные, у вас будет возможность отправить письмо по электронной почте. Для реализации второго варианта проверьте это: Отправка электронной почты в Android с использованием JavaMail API без использования встроенного в приложение по умолчанию

...