android为所有联系人添加自定义字段

时间:2015-03-08 10:20:18

标签: android contacts

我正在尝试将我的应用程序图标添加到所有现有联系人。我的目的是通过点击我的应用程序图标上的用户来打开应用程序并将此联系人发送到云。我可以通过应用程序创建联系人并将我的应用程序MimeType添加到此并获得保存联系人但我想更新所有现有的联系人我的应用程序图标这是我的代码将我的应用程序mimeType插入所有联系人但它不起作用

Cursor cursor =  context.getContentResolver().query(Data.CONTENT_URI, new       String[] {       Data.RAW_CONTACT_ID,       Data.DISPLAY_NAME, Data.MIMETYPE,    Data.CONTACT_ID }, 
     null, 
     null, 
     null);




 ArrayList<ContentProviderOperation> ops = new  ArrayList<ContentProviderOperation>();
    do {// get id of contact and update all contact
          id = cursor.getInt(0);
          ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
         .withValue(ContactsContract.Data.RAW_CONTACT_ID, id)
         .withValue(ContactsContract.Data.MIMETYPE, MIMETYPE)
         .withValue(Data.DATA1, "profile1") 
         .withValue(Data.DATA2, "profile2") 
         .withValue(Data.DATA3, "profile3") 
         .build()); 
          try { 
    context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

       } catch (Exception e1) {
        e1.printStackTrace();
       Log.i("Error =>>" + e1.getMessage());
       }
   while(cursor.moveNext())

请帮助我!谢谢

1 个答案:

答案 0 :(得分:1)

您可以查看此链接。这是一个有用的例子。 https://github.com/nemezis/SampleContacts/tree/master/src/com/nemezis/sample/contacts