1. 通过电话号码获取联系人图像

 private Bitmap getContactImageByPhoneNumber (Context context,String strPhoneNumber, String contactID){     String[] projection = { ContactsContract.Contacts.PHOTO_THUMBNAIL_URI, ContactsContract.CommonDataKinds.Phone.NUMBER };              Cursor cursor = context.getContentResolver().query(                   ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, ContactsContract.CommonDataKinds.Phone.NUMBER + " = '" + strPhoneNumber + "'", null,null);            if (cursor == null) {             return null;           }                    Bitmap bm = null;         String mThumbnailUri = null;         for (int i = 0; i < cursor.getCount(); i++) {               cursor.moveToPosition(i);                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {                 try {                     int mThumbnailColumn = cursor.getColumnIndexOrThrow(ContactsContract.Contacts.PHOTO_THUMBNAIL_URI);                     mThumbnailUri = cursor.getString(mThumbnailColumn);                 } catch (IllegalArgumentException e) {    e.printStackTrace();                 }             } else {                              mThumbnailUri = contactID;             }             if (mThumbnailUri != null) {             InputStream is = null;              Uri thumbUri;                 if (Version.sdkAboveOrEqual(Version.API11_HONEYCOMB_30)) {                     thumbUri = Uri.parse(mThumbnailUri);                 } else {                     final Uri contactUri = Uri.withAppendedPath(                             Contacts.CONTENT_URI, mThumbnailUri);                     thumbUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY);                 }                                  try {    is = mContext.getContentResolver().openInputStream(thumbUri);    } catch (FileNotFoundException e) {    e.printStackTrace();    }                 if (is != null) {                       bm=BitmapFactory.decodeStream(is);                 }             }         }           return bm ;    }


2. 通过电话号码获得联系人姓名

 public  String getContactNameByPhoneNumber(Context context, String number) {          String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,                   ContactsContract.CommonDataKinds.Phone.NUMBER };              Cursor cursor = context.getContentResolver().query(                   ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, ContactsContract.CommonDataKinds.Phone.NUMBER + " = '" + number + "'", null,null);            if (cursor == null) {               return null;           }           for (int i = 0; i < cursor.getCount(); i++) {               cursor.moveToPosition(i);               int nameFieldColumnIndex = cursor                       .getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);               String name = cursor.getString(nameFieldColumnIndex);             int contactid=cursor.getColumnIndex(ContactsContract.Contacts._ID);              return name;           }           return null;       }  









更多相关文章

  1. android 增加联系人
  2. Android自动判定输入的是电话号码还是网址
  3. android联系人中英文混合排序
  4. android 通过ContentResolver获得联系人数据
  5. android打开联系人的代码
  6. 实现类似Android联系人搜索功能
  7. android获取联系人所有内容
  8. Android 添加删除联系人2.0之前与2.0之后

随机推荐

  1. Android——设置固定横竖屏
  2. Android 下载文件及写入SD卡
  3. Android官方入门文档[2]运行你的应用程序
  4. LinearLayout和RelativeLayout的比较
  5. Android 4编程入门经典—开发智能手机与
  6. Android编译过程详解
  7. [Android 新特性] 改进明显 Android 4.4
  8. Activity属性设置大全
  9. Android GridView 使用示例
  10. 从零开始--系统深入学习android(实践-让我