【问题标题】:How to add new field(s) to the contact?如何向联系人添加新字段?
【发布时间】:2010-04-28 22:37:03
【问题描述】:

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

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

如果有人能举个例子就好了。

【问题讨论】:

    标签: android


    【解决方案1】:

    您必须为这些创建自己的 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");
            }
        }
    

    【讨论】:

    • 谢谢。这回答了如何将自定义 mime 类型添加到 ContactsContract 内容提供程序。有没有办法将自定义字段添加到呼叫日志数据库?
    • 我不知道。不要忘记回复答案。
    • 有没有办法利用 DATA14 和 DATA15?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多