2017-06-28 3 views
0

Gibt es eine Möglichkeit, den Kontakt programmatisch dem Telefonbuch des internen Telefons als "Telefonkontakt" hinzuzufügen?Kontakte als "Telefonkontakt" speichern

Ich habe versucht:

list.add(ContentProviderOperation 
       .newInsert(ContactsContract.RawContacts.CONTENT_URI) 
       .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null) 
       .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null) 
       .build()); 

mit diesem Parameter Kontakt spart erfolgreich an das Telefon, aber im Fall stelle ich Filter auf „Anzeige Telefonkontakte nur“ - erstellt Kontakt erscheint nicht. btw, ich habe gelesen, dass die Kontakte mit null Typ sein kann, verliert Trocknungskonten Synchronisation (nicht den vollständigen Fall erinnern)

dann habe ich versucht, ACCOUNT_TYPE und ACCOUNT_NAME aus bestehenden Telefonkontakt abrufen und bekommt Phone und Local Phone Account Saiten, aber als ich versuchte, Kontakt mit denselben Parametern zu speichern:

list.add(ContentProviderOperation 
       .newInsert(ContactsContract.RawContacts.CONTENT_URI) 
       .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, "Phone") 
       .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, "Local Phone Account") 
       .build()); 

das Ergebnis war das gleiche auf den ersten Fall mit null Typ.

Gibt es irgendwelche Konstanten (oder es sollte anders sein), um Daten wie "Telefonkontakt" zu speichern?

+0

Haben Sie lösen irgendwie dieses Problem? –

Antwort

3

Das Konto "phone only" wird nicht vollständig von Plain Android unterstützt, es wird normalerweise von Geräteherstellern hinzugefügt (oder entsperrt).

Hier sind diejenigen, die ich kenne, fühlen Sie sich frei, mehr hinzuzufügen, falls Sie mehr finden.
Das Format ist <maker>: ACCOUNT_TYPE, ACCOUNT_NAME

  1. Samsung: "vnd.sec.contact.phone: "vnd.sec.contact.phone"
  2. htc:" com.htc.android.pcsc: "pcsc"
  3. sony: "com.sonyericsson.localcontacts: "Telefonkontakte"
  4. LGE:" com.lge.sync: "Phone"
  5. lge (Option 2): "com.lge.phone"
  6. t-mobile: "vnd.tmobileus.conta ct.phone: "Mobilelife Kontakte"
  7. huawei: "com.android.huawei.phone: "Phone"
  8. lenovo:" Lokales Konto Telefon: "Phone"
+0

Ich nehme an, ACCOUNT_NAME der zweiten Option von LGE ist auch "Telefon", oder? –

+0

Hat jemand mehr gefunden? –