簡體   English   中英

聯系人應用中的自定義操作(類似於G +)

[英]Custom actions in Contacts app (similar to G+)

我正在創建一個我想與Android的聯系人/人員應用程序集成的應用程序。 我設置了自定義mime類型,一個syncadapter和一個帶有ContactsDataKind元素的contacts.xml文件。

這似乎工作正常,但似乎不可能為每種數據類型定義多個操作(在這種情況下,我希望人們能夠查看聯系人的配置文件,以及直接向他們發送消息。

G +應用程序似乎處理這個問題,但我一直無法弄清楚他們是如何做到的。 以下是People中G +集成的屏幕截圖: http//i.imgur.com/QotHjDk.png

感謝您的時間!

插入ContactsContract.Data時,只需ContactsContract.Data表中添加其他行 請參閱文檔中的“contacts.xml結構”:

<ContactsDataKind>元素控制聯系人應用程序UI中應用程序的自定義數據行的顯示。 它具有以下語法:

 <ContactsDataKind android:mimeType="MIMEtype" android:icon="icon_resources" android:summaryColumn="column_name" android:detailColumn="column_name"> 

對於其中的每一個,Contact的應用程序ContactDetailFragment添加一個DataViewEntry 列表條目充當用於構建聯系人詳細信息UI的適配器的數據。 單擊包含Intent的條目時,將調用startActivity() 此Intent是根據數據項的MIME類型和Uri構建的。

entry.intent = new Intent(Intent.ACTION_VIEW);
entry.intent.setDataAndType(entry.uri, entry.mimetype);

例如,G +應用程序具有以下es_contacts.xml

<ContactsDataKind android:summaryColumn="data2" android:detailColumn="data3"

並創建如下行:

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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM