获取手机通讯录
1 权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>注意6.0还需要动态权限 demo会有详细的
2.获取手机通讯录
// 获取手机联系人 Cursor phoneCursor = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PHONES_PROJECTION, null, null, null);
//得到手机号码 String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
//得到联系人名称 String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX); //得到联系人ID Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX); //得到联系人头像ID Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);
3.获取sim卡通讯录
// 获取Sims卡联系人 Uri uri = Uri.parse("content://icc/adn"); Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null, null);
// 得到手机号码 String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
// 得到联系人名称 String contactName = phoneCursor .getString(PHONES_DISPLAY_NAME_INDEX);
si'm卡没用头像设置一个默认的头像
//Sim卡中没有联系人头像 Bitmap contactPhoto = null; contactPhoto = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
4.统一手机号码格式并去除不合格的手机号
phoneNumber = phoneNumber.replaceAll(" ", ""); phoneNumber = phoneNumber.replaceAll("-", ""); phoneNumber = phoneNumber.replaceAll("\\+86", ""); if (phoneNumber.length() != 11) continue; String substring = phoneNumber.substring(0, 1); if (!substring.equals("1"))
qq互助群:471761982