2010-04-28 4 views
10

Je souhaite ajouter un champ personnalisé au fournisseur de contenu ContactsContract. J'essaie de créer une application Voip et j'aimerais y ajouter un champ d'adresse SIP (nom @ domaine). De quel type MIME ai-je besoin pour l'associer? Je souhaite également ajouter un champ d'adresse de groupe qui comportera une liste d'adresses de groupe (nom @ domaine, nom @ domaine, ...). Quel type de MIME devrais-je associer à ce type de champ? Je souhaite également ajouter des champs personnalisés à l'historique des appels comme un ID de session et un champ d'adresse SIP (nom @ domaine). Comment puis-je personnaliser l'historique des appels?Comment ajouter un nouveau champ (s) au contact?

Ce sera génial si quelqu'un peut me donner un exemple.

Répondre

6

Vous devez créer votre propre type mime pour ceux-ci.

Voici un exemple qui enregistre un booléen comme mon type mime personnalisé pour les contacts. Il utilise le dernier 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"); 
     } 
    } 
+0

Merci. Cela répond comment ajouter un type mime personnalisé au fournisseur de contenu ContactsContract. Existe-t-il un moyen d'ajouter des champs personnalisés à la base de données du journal des appels? –

+0

Je ne le sais pas. Ne pas oublier de poster la réponse. – Pentium10

+1

est-il un moyen d'utiliser dire DATA14 et DATA15? – Joset

Questions connexes