android联系人操作

来源:互联网 发布:fastjson json转对象 编辑:程序博客网 时间:2024/05/23 01:21

根据姓名操作联系人信息

/** * @description 根据姓名查找联系人信息 * @param name */public String queryInfoThrougName(String name) {Uri uri = Uri.parse("content://com.android.contacts/contacts"); // 访问raw_contacts表ContentResolver resolver = context.getContentResolver();Cursor cursor = resolver.query(uri, new String[] { Data._ID },"display_name=?", new String[] { name }, null);while (cursor.moveToNext()) {int id = cursor.getInt(0);// 获得id并且在data中寻找数据uri = Uri.parse("content://com.android.contacts/contacts/" + id+ "/data"); // 如果要获得data表中某个id对应的数据,则URI为content://com.android.contacts/contacts/#/dataCursor cursor2 = resolver.query(uri, new String[] { Data.DATA1,Data.MIMETYPE }, null, null, null); // data1存储各个记录的总数据,mimetype存放记录的类型,如电话、email等while (cursor2.moveToNext()) {String data = cursor2.getString(cursor2.getColumnIndex("data1"));if (cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.item/name")) { // 如果是名字System.out.println("name-->" + data);} else if (cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.item/phone_v2")) { // 如果是电话System.out.println("num-->" + data);} else if (cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.item/email_v2")) { // 如果是emailSystem.out.println("email---->" + data);return data;} else if (cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.item/postal-address_v2")) { // 如果是地址System.out.println("add-->" + data);} else if (cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.item/organization")) { // 如果是组织System.out.println("organiazation-->" + data);}}}return null;}

插入联系人数据

/** * @description 插入姓名,电话,email * @param name * @param phoneNumber */private void insertValue(String name, String phoneNumber, String email) {try {Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");ContentResolver resolver = getContentResolver();ContentValues values = new ContentValues();long contact_id = ContentUris.parseId(resolver.insert(uri, values));// 插入data表uri = Uri.parse("content://com.android.contacts/data");// 姓名values.put("raw_contact_id", contact_id);values.put(Data.MIMETYPE, "vnd.android.cursor.item/name");values.put("data1", name);resolver.insert(uri, values);values.clear();// 电话号码values.put("raw_contact_id", contact_id);values.put(Data.MIMETYPE, "vnd.android.cursor.item/phone_v2");values.put("data1", phoneNumber);resolver.insert(uri, values);values.clear();// emailvalues.put("raw_contact_id", contact_id);values.put(Data.MIMETYPE, "vnd.android.cursor.item/email_v2");values.put("data1", email);context.getContentResolver().insert(Uri.parse("content://com.android.contacts/data"), values);Toast.makeText(context, "添加成功!", Toast.LENGTH_SHORT).show();} catch (Exception e) {Toast.makeText(context, "添加失败,请重试", Toast.LENGTH_SHORT).show();}}


原创粉丝点击