2013-03-12 21 views
5

W urządzeniach Samsung com.sec.android.email to domyślny klient poczty wbudowanej, ale w HTC jest to com.htc.android.mail. Moje pytanie brzmi: jest jakikolwiek sposób, aby uzyskać domyślną nazwę pakietu klienta pocztowego w urządzeniu z Androidem niezależnie od różnych kompilacji firmy ..Android: Jak uzyskać macierzystą nazwę pakietu klientów poczty e-mail

+0

Chcesz domyślną aplikację do obsługi poczty e-mail? –

+0

Nie jest to domyślne. Ponieważ możemy utworzyć klienta poczty e-mail jako domyślny klient poczty e-mail urządzenia. Potrzebuję wbudowanego klienta poczty dla każdego urządzenia. – Sudarshan

+0

Myślę, że najlepiej jest uzyskać listę działań, które mogą wysyłać a "message/rfc822" i iterują nad nimi, aby sprawdzić nazwy ich pakietów, ale to nie powie ci, czy są one domyślne. Dlaczego potrzebujesz tego, jeśli mogę zapytać? – Karakuri

Odpowiedz

3

To nie jest kompletna odpowiedź, ale oto jak uzyskać listę działań, które można wysłać message/rfc822:

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("message/rfc822"); 
PackageManager pkgManager = context.getPackageManager(); 
List<ResolveInfo> activities = pkgManager.queryIntentActivities(intent, 0); 

Możesz iterować nad listą. Zapoznaj się z dokumentacją ResolveInfo dla pól tematycznych.

+0

, ale to drukuje Gmail zamiast e-mail w urządzeniu Samsung :(. Mam wszystko pakiety e-mailowe – Sudarshan

+0

Tak, to nie jest pełna odpowiedź. Odpowiedź brzmi: nie możemy tak postąpić – Sudarshan

Powiązane problemy