android聯繫人操作

根據姓名操作聯繫人信息

/**
	 * @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/#/data
			Cursor 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")) { // 如果是email
					System.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();

			// email
			values.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();
		}
	}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章