Android-pick E-Mail Vorsatz
Möchte ich wählen Sie eine E-Mail aus der Liste der Kontakte.
Kommissionierung ein Kontakt ist nicht gut genug, denn ein Kontakt kann mehrere E-Mails.
Mithilfe der API-demo gelang es mir, wählen Sie einen Kontakt, eine Telefonnummer und eine Adresse. Beispiel:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
//OR
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
//OR
intent.setType(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE);
ABER, wenn Sie versuchen, wählen Sie eine E-Mail
intent.setType(ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
Bekomme ich die Aktivität nicht gefunden Ausnahme.
Jede Idee, wie man eine E-Mail aus der Liste "alle Kontakte" - E-Mails?
Dank.
Alik.
Update (2011/05/02):
Fand einen anderen Weg zu Holen die Dinge aus die Kontakte aber immer noch die E-Mail-picker ist nicht registriert, um die Absicht.
Arbeiten:
new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI);
NICHT funktioniert:
new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Email.CONTENT_URI);
- Hast du eine Lösung gefunden werden? Erstellen einer benutzerdefinierten dialog, wie tha Antworten vorschlagen, ist eine sehr hässliche Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe nicht gezielt versucht, auf einem picker, aber wir Durchlaufen unser cache der Kontakte und finden Sie alle Kontaktdaten mit MIME-Typ
Email.CONTENT_ITEM_TYPE
.Bauen wir dann ein Dialogfeld, um den Benutzer lassen auswählen, welche e-mail-Adresse, die Sie verwenden möchten, und wir geben die e-mail-Adresse, um des Benutzers e-mail-app, z.B.
verwenden Sie die folgenden Konstanten (nicht CONTENT_ITEM_TYPE):
Perfekt arbeiten:
Hier ein Beispiel für einen bit-code zur Anzeige aller E-Mail-Adressen in der Kontaktliste auf die Benutzer und Ihnen zu ermöglichen, wählen Sie eine einzelne (die dann in eine
EditText
mit der id R. id.youredittextid).Hinweis: Das ist ein ziemlich ineffizienter Weg, dies zu tun, und zu bewirken, dass durchaus eine Verzögerung, wenn Sie über viele Kontakte. Aber alle notwendigen code ist hier; anpassen, wie Sie sehen, passen...
Einen alten thread, aber... diese Informationen könnten nützlich sein, um jemanden.
Wenn Sie beginnen, eine Absicht, mit
Intent.ACTION_PICK
Sie versuchen, aufrufen von "Contact Picker" - Aktivität, die in der Regel, geliefert durch Kontakte /Telefonbuch-Anwendung.Neueste version von Vanille (Google) - Kontakte app (Android 4.4.4) hat
Email.CONTENT_ITEM_TYPE
für mimetype in seiner Vorsatz-filter, so sollte es reagieren Sie auf diese Absicht, so wie Sie es gemacht. Ich bin nicht sicher, aber es scheint, dass Contact-Picker für ältere Versionen (ICS, JB) nicht in seiner Absicht filtern.Kurz gesagt, dieser Vorsatz sollte auf KK mit Vanille-Kontakte installiert, und sollte nicht auf älteren Android-Versionen.