Po prostu musisz dodać dodatkowe wiersze w tabeli ContactsContract.Data
podczas wstawiania kontaktu. Patrz „strukturę contacts.xml” w documentation:
Element <ContactsDataKind>
steruje wyświetlaniem wierszy niestandardowych danych twojej aplikacji w interfejsie aplikacji Kontakty użytkownika. To ma następującą składnię:
<ContactsDataKind
android:mimeType="MIMEtype"
android:icon="icon_resources"
android:summaryColumn="column_name"
android:detailColumn="column_name">
dla każdego z nich, kontakt App ContactDetailFragment dodaje jeden DataViewEntry
. Pozycje listy działają jako dane dla adaptera używanego do budowania interfejsu danych kontaktowych. Po kliknięciu wpisu zawierającego intencję wywoływana jest startActivity()
. Ten zamiar jest zbudowany na podstawie typu MIME elementu danych i Uri.
entry.intent = new Intent(Intent.ACTION_VIEW);
entry.intent.setDataAndType(entry.uri, entry.mimetype);
Na przykład, G + aplikacja ma następujące es_contacts.xml
:
<ContactsDataKind android:summaryColumn="data2" android:detailColumn="data3"
i tworzy wiersze tak:
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));
To nie jest dla mnie jasne, co masz próbować zrobić. Czy chcesz, aby Twoja aplikacja pojawiała się w menu, które pojawia się w kontaktach/osobach, lub ma wiele opcji działań w Twojej aplikacji? Na moim telefonie w taki sposób, że widzę ekran podobny do tego na ekranie, do którego się łączysz, wchodząc do aplikacji telefonu, dotykając przycisku menu (trzy pionowo ustawione kropki) na kafelku osoby tam, która przywołuje okno dialogowe z danymi kontaktowymi danej osoby, a następnie dotknięcie ikony kontaktu w tym oknie dialogowym. W tym momencie nie jestem pewien, czy nadal znajduję się w aplikacji telefonu lub aplikacji kontaktów/osób. – hBrent