2014-09-03 3 views
2

Я использую следующий код:Android получить ПИК и имя контакта, используя номер

Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); 

для retriveing ​​контактной информации и. DISPLAY_NAME помогло бы получить имя, но как я могу восстановить изображение контакта, возможно, в формате URI. Я знаю, как это сделать, используя PHOTO_THUMBNAIL_URI, но его нет в PhoneLookup.

мне нужна совместимость по SDK - 5.

Спасибо!

ответ

0

Попробуйте ниже метод, чтобы получить контакт изображение профиля:

Получить Контакт Профиль Фотография

private void GetContactPhoto() { 

     Bitmap photo = null; 

     try { 
      InputStream inputStream = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), 
        ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, new Long(contactID))); 

      if (inputStream != null) { 
       photo = BitmapFactory.decodeStream(inputStream); 
       ImageView imageView = (ImageView) findViewById(R.id.profile_pic); 
       imageView.setImageBitmap(photo); 
      } 

      assert inputStream != null; 
      inputStream.close(); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 

Get Контакт Отображаемое имя

private void GetContactName() { 

     String contactName = null; 

     // querying contact data store 
     Cursor cursor = getContentResolver().query(uriContact, null, null, null, null); 

     if (cursor.moveToFirst()) { 

      // DISPLAY_NAME = The display name for the contact. 
      // HAS_PHONE_NUMBER = An indicator of whether this contact has at least one phone number. 

      contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
     } 

     cursor.close(); 

     Log.d(TAG, "Contact Name: " + contactName); 

    } 

Получить контакты Номер

private void GetContactNumber() { 

     String contactNumber = null; 

     // getting contacts ID 
     Cursor cursorID = getContentResolver().query(uriContact, 
       new String[]{ContactsContract.Contacts._ID}, 
       null, null, null); 

     if (cursorID.moveToFirst()) { 

      contactID = cursorID.getString(cursorID.getColumnIndex(ContactsContract.Contacts._ID)); 
     } 

     cursorID.close(); 

     Log.d(TAG, "Contact ID: " + contactID); 

     // Using the contact ID now we will get contact phone number 
     Cursor cursorPhone = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER}, 

       ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ? AND " + 
         ContactsContract.CommonDataKinds.Phone.TYPE + " = " + 
         ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, 

       new String[]{contactID}, 
       null); 

     if (cursorPhone.moveToFirst()) { 
      contactNumber = cursorPhone.getString(cursorPhone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
     } 

     cursorPhone.close(); 

     Log.d(TAG, "Contact Phone Number: " + contactNumber); 
    } 

Для получения более подробной информации проверить HERE

+0

@GrlsHu У меня есть телефон-номер, мне нужно найти имя и изображение на его основе не на основе контакта ид или что-нибудь еще. –

Смежные вопросы