Android 添加删除联系人2.0之前与2.0之后
2011-05-16 16:08
309 查看
/*********删除通用******************************************************************/
/*********before 2.0******************************************************************/
/*********after 2.0******************************************************************/
/**************************************************************************/
ContentResolver contentResolver = AddContactLog.this.getContentResolver(); contentResolver.delete(Contacts.People.CONTENT_URI, Contacts.People.NAME + "=?", new String[] { "名字" });
/*********before 2.0******************************************************************/
ContentValues values = new ContentValues(); Uri phoneUri = null; values.put(Contacts.People.NAME, "名字"); values.put(Contacts.People.STARRED, 1); Uri uri = Contacts.People.createPersonInMyContactsGroup(contentResolver, values); phoneUri = Uri.withAppendedPath(uri, Contacts.People.Phones.CONTENT_DIRECTORY); values.clear(); values.put(Contacts.Phones.TYPE, Contacts.Phones.NUMBER); System.out.println("---------------------------------------"); values.put(Contacts.Phones.NUMBER, serviceNumber); contentResolver.insert(phoneUri, values);
/*********after 2.0******************************************************************/
// 获取通讯录中所有联系人 public void testGetContact() { StringBuffer sb = new StringBuffer(); ContentResolver contentResolver = this.getContext() .getContentResolver(); Uri uri = Uri.parse("content://com.android.contacts/contacts"); Cursor cursor = contentResolver.query(uri, null, null, null, null); while (cursor.moveToNext()) { String contactId = cursor.getString(cursor .getColumnIndex(ContactsContract.Contacts._ID)); String name = cursor.getString(cursor .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); sb.append("contactId=").append(contactId).append(",name=").append( name); Cursor phones = contentResolver.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); while (phones.moveToNext()) { String phone = phones .getString(phones .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); sb.append(",phone=").append(phone); } Cursor emails = contentResolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId, null, null); while (emails.moveToNext()) { String email = emails .getString(phones .getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); sb.append(",email=").append(email); } Log.i(TAG, sb.toString()); } }
/**************************************************************************/
/** * 首先想RawContacts.CONTENT URI 执行一个空值插入,目的是为了获取返回的rawContactId * 这是后面插入data表的依据,只有执行空值插入,才能使插入的联系人在通讯录里面可见 */ public void testInsert() { ContentValues values = new ContentValues(); // 首先想RawContacts.CONTENT_URI执行一个空值插入,目的似乎或偶去系统返回的rawContactId Uri rawContactUri = this.getContext().getContentResolver().insert( RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); // 往data表入姓名数据 values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); values.put(StructuredName.GIVEN_NAME, "小样"); this.getContext().getContentResolver().insert( android.provider.ContactsContract.Data.CONTENT_URI, values); // 往data表入电话数据 values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); values.put(Phone.NUMBER, "12345678901"); values.put(Phone.TYPE, Phone.TYPE_MOBILE); this.getContext().getContentResolver().insert( android.provider.ContactsContract.Data.CONTENT_URI, values); // 往data表入Email数据 values.clear(); values.put(Data.RAW_CONTACT_ID, rawContactId); values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE); values.put(Email.DATA, "ycitdd@126.com"); values.put(Email.TYPE, Phone.TYPE_WORK); this.getContext().getContentResolver().insert( android.provider.ContactsContract.Data.CONTENT_URI, values); }
相关文章推荐
- android中读取通讯录中的联系人名字和电话方法(注意版本2.0之前,之后有差别)
- Android2.0之后读取联系人——ContactsContract
- Android 查询 添加 修改 删除通讯录联系人示例
- Android 删除手机联系人,添加手机联系人,更新手机联系人信
- android2.0之前的联系人操作
- 删除了Android Private Libraries之后怎么重新添加进去?
- Android2.0之后读取联系人——ContactsContract
- android 数据库 SQLiteOpenHelper和ContentProvider学习笔记---添加修改删除数据之联系人(二)
- Android批量添加删除联系人
- 删除了Android Private Libraries之后可重新添加
- 编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言
- Android编程添加快捷方式(Short)到手机桌面的方法(含添加,删除及查询)
- android开发:EditText如何正确自己实现删除和添加数据
- Android添加@联系人功能
- Android 学习笔记 Contacts (三)Contacts 查找,增加,更新,删除联系人
- Android编程实现通讯录中联系人的读取,查询,添加功能示例
- Android百度地图添加新的Overlay之前清除之前的所有Overlay
- Scott Mitchell 的ASP.NET 2.0数据教程之二十二:为删除数据添加客户端确认
- 【android自定义控件】android ListView添加侧滑删除
- Android 联系人的读取,查询,添加