Devi solo aggiungere righe aggiuntive nella tabella ContactsContract.Data
quando si inserisce un contatto. Vedere "struttura contacts.xml" nel documentation:
L'elemento <ContactsDataKind>
controlla la visualizzazione di righe di dati personalizzati della vostra applicazione nell'interfaccia utente dell'applicazione contatti. E ha la seguente sintassi:
<ContactsDataKind
android:mimeType="MIMEtype"
android:icon="icon_resources"
android:summaryColumn="column_name"
android:detailColumn="column_name">
Per ognuno di essi, del contatto app ContactDetailFragment aggiunge uno DataViewEntry
. Le voci dell'elenco funge da dati per un adattatore utilizzato per creare l'interfaccia utente dei dettagli del contatto. Quando si fa clic su una voce contenente un'intenzione, viene chiamato startActivity()
. Questo intento è basato sul tipo MIME e Uri dell'elemento di dati.
entry.intent = new Intent(Intent.ACTION_VIEW);
entry.intent.setDataAndType(entry.uri, entry.mimetype);
Ad esempio, il G + app ha il seguente es_contacts.xml
:
<ContactsDataKind android:summaryColumn="data2" android:detailColumn="data3"
e crea le righe come questo:
ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference("raw_contact_id", i1)
.withValue("mimetype", "vnd.android.cursor.item/vnd.googleplus.profile.comm")
.withValue("data4", Integer.valueOf(14))
.withValue("data5", "hangout")
.withValue("data3", context.getString(R.string.start_hangout_action_label));
ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference("raw_contact_id", i1)
.withValue("mimetype", "vnd.android.cursor.item/vnd.googleplus.profile")
.withValue("data4", Integer.valueOf(20))
.withValue("data5", "addtocircle")
.withValue("data3", context.getString(R.string.add_to_circle_action_label));
Non è chiaro per me quello che sei cercando di fare Vuoi che la tua app appaia nel menu che esce da contatti/persone o per avere più opzioni di azione nella tua app? Sul mio telefono il modo in cui sono in grado di vedere una schermata come nello screenshot a cui ci si collega è accedendo all'app del telefono, toccando il pulsante del menu (tre punti allineati verticalmente) sul riquadro di una persona lì, che visualizza una finestra di dialogo con le informazioni di contatto della persona, quindi toccando l'icona del contatto in quella finestra di dialogo. A quel punto non sono sicuro se sono ancora nell'app del telefono o nell'app Contatti/Persone. – hBrent