- ContactItem getContactByAddr(Context context, final SMSItem sms) {
- Uri personUri = Uri.withAppendedPath(
- ContactsContract.PhoneLookup.CONTENT_FILTER_URI, sms.mAddress);
- Cursor cur = context.getContentResolver().query(personUri,
- new String[] { PhoneLookup.DISPLAY_NAME },
- null, null, null );
- if( cur.moveToFirst() ) {
- int nameIdx = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME);
- ContactItem item = new ContactItem();
- item.mName = cur.getString(nameIdx);
- cur.close();
- return item;
- }
- return null;
- }
以上代码就可以通过电话号码取得联系人信息,在我的真机上也可以正确处理+86134xxxxxxxx/12520134xxxxxxxx之类的号码。