2010-12-30 15 views
5

Udało mi się utworzyć aplikację na Androida, która oblicza ceny, a następnie jest w stanie przenieść te dane w preformatowany sposób do programu pocztowego wybranego przez użytkownika. W zależności od danych tworzonych przez użytkownika w aplikacji ciąg znaków zawierający kod HTML jest odczytywany jako intencja. Kod mam na to:Wysyłanie wiadomości e-mail w formacie HTML w Androidzie

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 

emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(emailText)); 
QuoteDroid.this.startActivity(emailIntent); 

To wszystko jest w porządku, a e-mail jest głównie formatowany poprawne kiedy wybrać aplikację Gmail i ogólnie wysyła głównie poprawne. Mam problem z tym, że muszę wysłać go z konta innego niż gmail w celach biznesowych. Kiedy wybieram ogólną aplikację e-mail w telefonie, nie przetwarza ona poprawnie HTML, a kiedy wyślę e-mail, jest sformatowany w postaci zwykłego tekstu.

Przeczytałem niezliczone artykuły i posty na forum, ale na próżno. Jak przetworzyć napis zawierający kod HTML w taki sposób, aby wiadomość e-mail - po wysłaniu z wbudowaną aplikacją e-mail - była prawidłowo wyświetlana przez odbiorcę?

+0

Nie znalazłeś sposobu, aby to zrobić? – skorulis

+0

Niestety nie, jedynym sposobem byłoby zakodować możliwość wysyłania wiadomości e-mail z aplikacji lub zbudować zupełnie nową aplikację pocztową do tego użytku. MOŻE to być aplikacja na rynku, która wysyła HTML. –

Odpowiedz

1

To zależy od pojedynczej aplikacji pocztowej, aby prawidłowo obsługiwać ciąg otrzymany jako EXTRA_TEXT. Dobrze zachowana aplikacja pocztowa zobaczy typ MIME i odpowiednio obsłuży EXTRA_TEXT, ale nie wszystkie aplikacje pocztowe tak.

+0

Dobrze, jakieś zalecenie, jak mam postępować? –

+0

Budujesz możliwość wysyłania wiadomości e-mail bezpośrednio z aplikacji: http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_(no_Intents)_in_Android –

0
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body)); 
startActivity(Intent.createChooser(emailIntent, "Email:")); 
Powiązane problemy