如何向联系人添加新字段?

时间:2010-04-28 22:37:04

标签: android

我想在ContactsContract内容提供商中添加自定义字段。我正在尝试构建一个Voip应用程序,并希望为其添加一个SIP地址(名称@域)字段。我需要与哪种MIME类型相关联? 另外,我想添加一个组地址字段,其中包含一个组地址列表(名称@ domain,name @ domain,...)。我必须将这种类型的字段与MIME类型相关联。

我还想将自定义字段添加到“呼叫历史记录”中,例如会话ID和SIP地址(名称@域)字段。如何自定义通话记录?

如果有人可以举个例子,那就太好了。

1 个答案:

答案 0 :(得分:6)

您必须为这些创建自己的mime类型。

这是一个将布尔值作为我的自定义mime类型保存到联系人的示例。它使用最新的SDK 2.1

public void saveFormality() {
        try {
            ContentValues values = new ContentValues();
            values.put(Data.DATA1, this.getFormality() ? "1" : "0");
            int mod = ctx.getContentResolver().update(
                    Data.CONTENT_URI,
                    values,
                    Data.CONTACT_ID + "=" + this.getId() + " AND "
                            + Data.MIMETYPE + "= '"
                            + clsContacts.FORMALITY_MIMETYPE + "'", null);

            if (mod == 0) {
                values.put(Data.CONTACT_ID, this.getId());
                values.put(Data.MIMETYPE, clsContacts.FORMALITY_MIMETYPE);
                ctx.getContentResolver().insert(Data.CONTENT_URI, values);
            }
        } catch (Exception e) {
            Log.v(TAG(), "saveFormality failed");
        }
    }