Android读取联系人并按照拼音排序

android系统1.6中 读取联系人:

 

cursor = cr.query(People.CONTENT_URI, null, null, null, "name desc");			//取得联系人名次
			name = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME));
			//取得联系人id
			String id = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup._ID));
			//构造查询条件,根据联系人id为条件,查询手机号字段的信息
			String selection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID+" = ? and "+ContactsContract.CommonDataKinds.Phone.TYPE+" = ?";
			String[] selectionArgs = {id,"2"};
			cursorSingle = cr.query(Uri.parse("content://com.android.contacts/data/phones"), new String[]{"data1"}, selection, selectionArgs, null);
cursorSingle.moveToNext();
mobile = cursorSingle.getString(0);
 

  获取联系人名称和手机号

 

			cursor.moveToNext();
			name = cursor.getString(cursor.getColumnIndex(Phones.NAME));
			mobile = cursor.getString(cursor.getColumnIndex(Phones.NUMBER));

 

android系统2.2中  读取联系人,此时只是取到名称以及联系人的id,还要根据id获取手机号码

 

cursor = cr.query("content://com.android.contacts/contacts", null, null, null, "sort_key asc");

 获取联系人名称和手机号码

			//取得联系人名次
			name = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME));
			//取得联系人id
			String id = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup._ID));
			//构造查询条件,根据联系人id为条件,查询手机号字段的信息
			String selection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID+" = ? and "+ContactsContract.CommonDataKinds.Phone.TYPE+" = ?";
			String[] selectionArgs = {id,"2"};
			cursorSingle = cr.query(Uri.parse("content://com.android.contacts/data/phones"), new String[]{"data1"}, selection, selectionArgs, null);
			cursorSingle.moveToNext();
			mobile = cursorSingle.getString(0);
 

你可能感兴趣的:(android)