Как добавить новое поле (контакты) к контакту?

Я хочу добавить настраиваемое поле в контент-провайдер ContactsContract. Я пытаюсь создать приложение Voip и хотел бы добавить к нему поле SIP address (name @domain). Какой тип MIME мне нужно связать с ним? Также я хочу добавить поле группового адреса, в котором будет иметься список адресов групп (name @domain, name @domain,...). Какой тип MIME мне нужно связать с этим типом поля.

Я также хочу добавить настраиваемые поля в Историю вызовов, например поле идентификатора сеанса и SIP-адрес (имя @домен). Как настроить историю звонков?

Будет здорово, если кто-нибудь может привести мне пример.

Ответ 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");
        }
    }