public class GetContactsInfo {List<ContactsInfo> localList;List<ContactsInfo> SIMList;Context context;ContactsInfo contactsInfo;ContactsInfo SIMContactsInfo;public GetContactsInfo(Context context) {localList = new ArrayList<ContactsInfo>();SIMList = new ArrayList<ContactsInfo>();this.context = context;}// ----------------得到本地联系人信息-------------------------------------public List<ContactsInfo> getLocalContactsInfos() {ContentResolver cr = context.getContentResolver();String str[] = { Phone.CONTACT_ID, Phone.DISPLAY_NAME, Phone.NUMBER,Phone.PHOTO_ID };Cursor cur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, str, null,null, null);if (cur != null) {while (cur.moveToNext()) {contactsInfo = new ContactsInfo();contactsInfo.setContactsPhone(cur.getString(cur.getColumnIndex(Phone.NUMBER)));// 得到手机号码contactsInfo.setContactsName(cur.getString(cur.getColumnIndex(Phone.DISPLAY_NAME)));// contactsInfo.setContactsPhotoId(cur.getLong(cur.getColumnIndex(Phone.PHOTO_ID)));long contactid = cur.getLong(cur.getColumnIndex(Phone.CONTACT_ID));long photoid = cur.getLong(cur.getColumnIndex(Phone.PHOTO_ID));// 如果photoid 大于0 表示联系人有头像 ,如果没有给此人设置头像则给他一个默认的if (photoid > 0) {Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactid);InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);contactsInfo.setBitmap(BitmapFactory.decodeStream(input));} else {contactsInfo.setBitmap(BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher));}System.out.println("---------联系人电话--"+ contactsInfo.getContactsPhone());localList.add(contactsInfo);}}cur.close();return localList;}public List<ContactsInfo> getSIMContactsInfos() {TelephonyManager mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);              System.out.println("---------SIM--------");ContentResolver cr = context.getContentResolver();final String SIM_URI_ADN = "content://icc/adn";// SIM卡Uri uri = Uri.parse(SIM_URI_ADN);Cursor cursor = cr.query(uri, null, null, null, null);while (cursor.moveToFirst()) {SIMContactsInfo = new ContactsInfo();SIMContactsInfo.setContactsName(cursor.getString(cursor.getColumnIndex("name")));SIMContactsInfo.setContactsPhone(cursor.getString(cursor.getColumnIndex("number")));SIMContactsInfo.setBitmap(BitmapFactory.decodeResource(context.getResources(),R.drawable.ic_launcher));SIMList.add(SIMContactsInfo);}cursor.close();return SIMList;}}

更多相关文章

  1. Android 添加删除联系人2.0之前与2.0之后
  2. Android 学习笔记 Contacts (二)Contacts 联系人详解
  3. Android联系人数据库全解析(4)
  4. Android联系人数据库全解析(3)
  5. Android读取手机联系人且获得联系人手机号+名称
  6. Android读取手机联系人信息

随机推荐

  1. Android中给View设置阴影的三种方式
  2. 【Android应用开发】-(7)安全性设计(完整版
  3. Android如何在三年时间里征服移动世界的
  4. 集成Flutter混合开发(入坑篇)
  5. 使用Kotlin高效地开发Android(安卓)App(
  6. Eclipse的项目迁移到Android(安卓)Studio
  7. air for android :第一个Android
  8. Android(安卓)App 国际化详解
  9. Android中如何启动第三方应用
  10. 如果没有 Android,世界会怎样?-IT蓝豹