关于给指定的联系人添加号码或者email等信息

 Cursor cursor1=baseChangeInsideSpec.getContentResolver().query 
(ContactsContract.RawContacts.CONTENT_URI, null, ContactsContract.RawContacts.CONTACT_ID +"= ?",
new String[]{String.valueOf(id)}, null);   
cursor1.moveToFirst();
rowId=cursor1.getString(cursor1.getColumnIndexOrThrow(ContactsContract.RawContacts._ID));
cursor1.close(); //先得找到添加内容的concat的rowId
//进行插入号码操作
 final ContentResolver resolver = baseChangeInsideSpec.getContentResolver();   
		  final ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();   
		  ContentProviderOperation.Builder builder = ContentProviderOperation   
		    .newInsert(RawContacts.CONTENT_URI);   
		  ContentValues values = new ContentValues();   
		  builder.withValues(values);   
		  operationList.add(builder.build());   
		  builder = ContentProviderOperation   
		    .newInsert(android.provider.ContactsContract.Data.CONTENT_URI);
		  builder.withValue(Phone.RAW_CONTACT_ID,rowid);   
		  builder.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);   
		  builder.withValue(Phone.TYPE, Phone.TYPE_OTHER);   
		  builder.withValue(Phone.DATA, number);   
		  operationList.add(builder.build());   
		  try {   
		   resolver.applyBatch(ContactsContract.AUTHORITY, operationList);   
		  } catch (RemoteException e) {   
		   // TODO Auto-generated catch block   
		   e.printStackTrace();   
		  } catch (OperationApplicationException e) {   
		   e.printStackTrace();   
		  }   

 通过长时间的搜索和查看源代码,终于找到了相应的方法。代码如上

你可能感兴趣的:(android,idea)